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
- ValidatedControlConverter.cs
- StringStorage.cs
- DependencyPropertyAttribute.cs
- OdbcConnection.cs
- UInt64Storage.cs
- GridView.cs
- GradientBrush.cs
- EdmToObjectNamespaceMap.cs
- Win32NamedPipes.cs
- XmlSchemaSubstitutionGroup.cs
- SchemaCollectionPreprocessor.cs
- ProgressBarRenderer.cs
- NetworkCredential.cs
- PersonalizableTypeEntry.cs
- ListViewTableRow.cs
- FormViewModeEventArgs.cs
- SecurityChannelListener.cs
- CommandManager.cs
- CqlQuery.cs
- TextParentUndoUnit.cs
- GeometryHitTestResult.cs
- Util.cs
- ControlPersister.cs
- IArgumentProvider.cs
- StringCollectionEditor.cs
- Form.cs
- Propagator.cs
- DbXmlEnabledProviderManifest.cs
- DateTimeOffset.cs
- Unit.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- selecteditemcollection.cs
- AtomParser.cs
- GradientStop.cs
- DrawingImage.cs
- DataSourceView.cs
- DependencyObjectProvider.cs
- OleDbFactory.cs
- DataGridPagingPage.cs
- ByteStreamGeometryContext.cs
- XsltOutput.cs
- DataBindingHandlerAttribute.cs
- IIS7WorkerRequest.cs
- DateBoldEvent.cs
- log.cs
- MsmqHostedTransportManager.cs
- DataGridViewIntLinkedList.cs
- FontNameEditor.cs
- WindowsAuthenticationModule.cs
- RemoteArgument.cs
- Thumb.cs
- SspiHelper.cs
- UnsafeNativeMethodsTablet.cs
- StylusLogic.cs
- HttpResponseInternalWrapper.cs
- WindowsTokenRoleProvider.cs
- ArcSegment.cs
- SHA1Cng.cs
- ToggleButton.cs
- PageBuildProvider.cs
- ManagementObject.cs
- WizardStepBase.cs
- WebPartManager.cs
- DynamicScriptObject.cs
- UseManagedPresentationElement.cs
- CallContext.cs
- ZipIOExtraFieldPaddingElement.cs
- ExtendedPropertyInfo.cs
- Boolean.cs
- WindowPattern.cs
- GeometryCollection.cs
- DataGridViewDataErrorEventArgs.cs
- WriteStateInfoBase.cs
- PtsContext.cs
- SiteMapDesignerDataSourceView.cs
- SequenceNumber.cs
- CodeAttachEventStatement.cs
- QuaternionAnimation.cs
- ImmutableDispatchRuntime.cs
- HtmlInputFile.cs
- CommandTreeTypeHelper.cs
- FontDriver.cs
- DbConvert.cs
- TraceContextRecord.cs
- CfgArc.cs
- ContextStack.cs
- RectIndependentAnimationStorage.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- HttpCachePolicyElement.cs
- LogPolicy.cs
- FormatterServices.cs
- SkipStoryboardToFill.cs
- WebBrowserDesigner.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- TrustLevelCollection.cs
- XPathNodeIterator.cs
- SamlSecurityToken.cs
- Content.cs
- QueryConverter.cs
- _AcceptOverlappedAsyncResult.cs