Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / View / Win32Interop.cs / 1484997 / Win32Interop.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation.View { using System; using System.Runtime.InteropServices; using System.Diagnostics.CodeAnalysis; static class Win32Interop { public const int WM_SETICON = 0x80; public const int WM_NCHITTEST = 0x84; public const int WM_SYSCOMMAND = 0x0112; public const int GWL_STYLE = -16; public const int WS_MAXIMIZEBOX = 0x00010000; public const int WS_MINIMIZEBOX = 0x00020000; public const int GWL_EXSTYLE = -20; public const int WS_EX_DLGMODALFRAME = 0x00000001; public const int WS_EX_CONTEXTHELP = 0x00000400; public const int SC_CONTEXTHELP = 0xf180; public const int ICON_SMALL = 0; public const int ICON_BIG = 1; [DllImport("User32", EntryPoint = "ScreenToClient", SetLastError = true, ExactSpelling = true, CharSet = CharSet.Auto)] public static extern int ScreenToClient(IntPtr hWnd, [In, Out] POINT pt); [StructLayout(LayoutKind.Sequential)] public sealed class POINT { public int x; public int y; public POINT() { this.x = 0; this.y = 0; } public POINT(int x, int y) { this.x = x; this.y = y; } } // This static method is required because legacy OSes do not support // SetWindowLongPtr internal static IntPtr SetWindowLongPtr(HandleRef hWnd, int nIndex, IntPtr dwNewLong) { if (IntPtr.Size == 8) return SetWindowLongPtr64(hWnd, nIndex, dwNewLong); else return new IntPtr(SetWindowLong32(hWnd, nIndex, dwNewLong.ToInt32())); } // This static method is required because Win32 does not support // GetWindowLongPtr directly public static IntPtr GetWindowLongPtr(IntPtr hWnd, int nIndex) { if (IntPtr.Size == 8) return GetWindowLongPtr64(hWnd, nIndex); else return GetWindowLongPtr32(hWnd, nIndex); } [DllImport("user32.dll", EntryPoint = "SetWindowLong")] private static extern int SetWindowLong32(HandleRef hWnd, int nIndex, int dwNewLong); [DllImport("user32.dll", EntryPoint = "SetWindowLongPtr")] private static extern IntPtr SetWindowLongPtr64(HandleRef hWnd, int nIndex, IntPtr dwNewLong); [SuppressMessage("Microsoft.Portability", "CA1901:PInvokeDeclarationsShouldBePortable", MessageId = "return", Justification = "Calling code is expected to handle the different size of IntPtr")] [DllImport("user32.dll", EntryPoint = "GetWindowLong")] private static extern IntPtr GetWindowLongPtr32(IntPtr hWnd, int nIndex); [DllImport("user32.dll", EntryPoint = "GetWindowLongPtr")] private static extern IntPtr GetWindowLongPtr64(IntPtr hWnd, int nIndex); [DllImport("user32.dll")] public static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam); [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] public static extern IntPtr GetActiveWindow(); [System.Runtime.InteropServices.DllImport("gdi32.dll")] public static extern bool DeleteObject(IntPtr hObject); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AutomationElement.cs
- BitmapEffectInputConnector.cs
- LabelTarget.cs
- EncryptedPackageFilter.cs
- SplitterCancelEvent.cs
- Accessible.cs
- Timeline.cs
- QueryGenerator.cs
- ZipIOCentralDirectoryFileHeader.cs
- EnumValidator.cs
- DataGridRow.cs
- ProcessInfo.cs
- ClientUrlResolverWrapper.cs
- EntityKeyElement.cs
- BitmapFrame.cs
- FontSizeConverter.cs
- SpanIndex.cs
- TextElementCollection.cs
- EventLogEntry.cs
- DataReceivedEventArgs.cs
- OleDbStruct.cs
- LookupBindingPropertiesAttribute.cs
- QilXmlReader.cs
- SchemaImporterExtensionsSection.cs
- TextEffect.cs
- SessionEndingEventArgs.cs
- LookupBindingPropertiesAttribute.cs
- IItemProperties.cs
- FixedPosition.cs
- InitiatorSessionSymmetricTransportSecurityProtocol.cs
- MemberInfoSerializationHolder.cs
- SafeNativeMethods.cs
- Soap.cs
- ObjectView.cs
- TemplateParser.cs
- PartitionResolver.cs
- CellConstantDomain.cs
- Model3DGroup.cs
- BitSet.cs
- Variant.cs
- SettingsPropertyValue.cs
- RenderingEventArgs.cs
- RegexStringValidatorAttribute.cs
- _Win32.cs
- ThousandthOfEmRealPoints.cs
- DictionarySectionHandler.cs
- HttpResponseWrapper.cs
- Ipv6Element.cs
- ZeroOpNode.cs
- CDSCollectionETWBCLProvider.cs
- HttpCookiesSection.cs
- SrgsRulesCollection.cs
- InkCollectionBehavior.cs
- DesigntimeLicenseContext.cs
- LabelAutomationPeer.cs
- BadImageFormatException.cs
- TextElementEditingBehaviorAttribute.cs
- ColumnCollection.cs
- FileRecordSequenceHelper.cs
- CellQuery.cs
- CodeExporter.cs
- MSAAEventDispatcher.cs
- SecurityTokenProvider.cs
- XamlFigureLengthSerializer.cs
- WebServiceData.cs
- UInt32Storage.cs
- ToolStripContentPanel.cs
- DiagnosticTrace.cs
- X509ChainPolicy.cs
- MatrixValueSerializer.cs
- DelegatedStream.cs
- NotImplementedException.cs
- TextTabProperties.cs
- Setter.cs
- GridViewDeleteEventArgs.cs
- TransformedBitmap.cs
- ProfilePropertySettingsCollection.cs
- DateTimeOffset.cs
- SqlFactory.cs
- UnionExpr.cs
- SecurityHelper.cs
- EventToken.cs
- UpDownEvent.cs
- NavigatorOutput.cs
- RsaSecurityToken.cs
- DataSvcMapFileSerializer.cs
- UnmanagedMarshal.cs
- QuaternionAnimation.cs
- FrameworkContentElement.cs
- ConfigXmlAttribute.cs
- PersonalizationEntry.cs
- Visual3DCollection.cs
- MatrixKeyFrameCollection.cs
- TimeoutHelper.cs
- IntSumAggregationOperator.cs
- FirewallWrapper.cs
- LayoutTableCell.cs
- Zone.cs
- GlyphingCache.cs
- ActivationServices.cs