Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------- // 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
- HtmlInputButton.cs
- SuppressIldasmAttribute.cs
- XmlReflectionMember.cs
- MetabaseServerConfig.cs
- HostedAspNetEnvironment.cs
- PaginationProgressEventArgs.cs
- Oid.cs
- ToolStripContentPanelRenderEventArgs.cs
- RuntimeEnvironment.cs
- GPStream.cs
- ListenerElementsCollection.cs
- SafeNativeMethods.cs
- ClientRequest.cs
- StrongNameSignatureInformation.cs
- EdmError.cs
- arclist.cs
- shaperfactoryquerycacheentry.cs
- ImplicitInputBrush.cs
- SweepDirectionValidation.cs
- StylusPointDescription.cs
- BindingOperations.cs
- ServiceModelConfigurationElementCollection.cs
- Point3DCollection.cs
- SizeLimitedCache.cs
- PersonalizationProviderHelper.cs
- FieldToken.cs
- BinaryKeyIdentifierClause.cs
- XmlCustomFormatter.cs
- ErrorHandler.cs
- AssemblyNameProxy.cs
- ScriptRef.cs
- Label.cs
- Point4DConverter.cs
- AnnotationStore.cs
- MSHTMLHost.cs
- Scene3D.cs
- DataBindingHandlerAttribute.cs
- SystemIPInterfaceStatistics.cs
- ReadContentAsBinaryHelper.cs
- ScriptDescriptor.cs
- BamlLocalizableResource.cs
- DictionaryContent.cs
- ErrorStyle.cs
- ExecutedRoutedEventArgs.cs
- WebPartDesigner.cs
- ActiveXHelper.cs
- ListMarkerSourceInfo.cs
- GroupPartitionExpr.cs
- _AutoWebProxyScriptWrapper.cs
- TableCellCollection.cs
- ProjectionCamera.cs
- NoneExcludedImageIndexConverter.cs
- XmlAnyElementAttribute.cs
- WindowsToolbarAsMenu.cs
- InkCanvas.cs
- SchemaElementDecl.cs
- DirectoryNotFoundException.cs
- MetadataItemEmitter.cs
- IPAddress.cs
- XmlValidatingReaderImpl.cs
- ElementProxy.cs
- EditorBrowsableAttribute.cs
- ColumnResizeUndoUnit.cs
- RowCache.cs
- SiblingIterators.cs
- SimpleWebHandlerParser.cs
- ListBoxDesigner.cs
- ListViewPagedDataSource.cs
- IFlowDocumentViewer.cs
- SelectionEditingBehavior.cs
- EntityDesignerUtils.cs
- SqlAggregateChecker.cs
- InheritanceAttribute.cs
- XamlTypeWithExplicitNamespace.cs
- FontFamilyIdentifier.cs
- SafePEFileHandle.cs
- FacetDescriptionElement.cs
- BasicHttpSecurityMode.cs
- LinqDataSourceUpdateEventArgs.cs
- ArgIterator.cs
- InstalledVoice.cs
- XmlTypeAttribute.cs
- ScriptServiceAttribute.cs
- GlyphRunDrawing.cs
- ParagraphVisual.cs
- TableCell.cs
- WindowsFont.cs
- MultiTrigger.cs
- OutputCacheProfile.cs
- DataServiceBehavior.cs
- HtmlTernaryTree.cs
- Themes.cs
- GeneralTransform3DCollection.cs
- AspNetSynchronizationContext.cs
- AsyncResult.cs
- SplitContainer.cs
- ReverseInheritProperty.cs
- SiteMapNodeCollection.cs
- DataKey.cs
- FlowDocumentReader.cs