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
- DrawListViewItemEventArgs.cs
- ExtendLockAsyncResult.cs
- UTF7Encoding.cs
- SubpageParaClient.cs
- SchemaNotation.cs
- UnsafeNativeMethods.cs
- TemplateNodeContextMenu.cs
- TextCompositionManager.cs
- ClrPerspective.cs
- FileLevelControlBuilderAttribute.cs
- MouseActionValueSerializer.cs
- LinkDescriptor.cs
- SortDescriptionCollection.cs
- WebPartRestoreVerb.cs
- HelpEvent.cs
- ActivityBuilderHelper.cs
- TypeConverters.cs
- ProfileSettings.cs
- TextRangeAdaptor.cs
- TrailingSpaceComparer.cs
- SqlError.cs
- DataGridCommandEventArgs.cs
- WorkflowInstanceSuspendedRecord.cs
- StrongName.cs
- DocumentGrid.cs
- ModelService.cs
- ADConnectionHelper.cs
- CriticalHandle.cs
- PipelineComponent.cs
- XmlIterators.cs
- Decimal.cs
- SmiSettersStream.cs
- WmpBitmapEncoder.cs
- KerberosRequestorSecurityToken.cs
- _NegoStream.cs
- GenericTextProperties.cs
- CreateUserWizard.cs
- BaseServiceProvider.cs
- WebBaseEventKeyComparer.cs
- latinshape.cs
- EntityCommandExecutionException.cs
- SoapServerProtocol.cs
- AttributeData.cs
- Activator.cs
- UpdatePanelTriggerCollection.cs
- DebugView.cs
- GlyphRunDrawing.cs
- MarkerProperties.cs
- CustomAttributeBuilder.cs
- Matrix.cs
- SettingsBase.cs
- ScrollViewerAutomationPeer.cs
- DateTimeParse.cs
- Int32AnimationBase.cs
- AutomationElementCollection.cs
- WindowsListViewGroup.cs
- DataContractJsonSerializerOperationBehavior.cs
- CategoriesDocument.cs
- DataRecord.cs
- ResolveNameEventArgs.cs
- SchemaImporterExtensionElementCollection.cs
- SessionEndedEventArgs.cs
- EventRouteFactory.cs
- SmtpLoginAuthenticationModule.cs
- AliasGenerator.cs
- __ConsoleStream.cs
- XdrBuilder.cs
- RegisteredExpandoAttribute.cs
- NonVisualControlAttribute.cs
- ApplyTemplatesAction.cs
- XmlDataContract.cs
- VScrollBar.cs
- DetailsViewAutoFormat.cs
- PointLight.cs
- SpeechSynthesizer.cs
- Context.cs
- UpdateManifestForBrowserApplication.cs
- ObjectItemCollection.cs
- CollectionEditVerbManager.cs
- TransformedBitmap.cs
- SimpleHandlerBuildProvider.cs
- WindowsRegion.cs
- RequestQueryProcessor.cs
- XPathBinder.cs
- TaiwanLunisolarCalendar.cs
- RuntimeWrappedException.cs
- StorageEntityContainerMapping.cs
- Screen.cs
- DynamicDataRoute.cs
- BitmapEffectInputConnector.cs
- XamlSerializationHelper.cs
- SimpleHandlerFactory.cs
- SafeNativeMethods.cs
- Globals.cs
- ScrollContentPresenter.cs
- BindingSource.cs
- ElementFactory.cs
- XhtmlBasicValidationSummaryAdapter.cs
- ButtonStandardAdapter.cs
- InitializationEventAttribute.cs