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
- WorkflowPersistenceService.cs
- TimeoutException.cs
- HMACRIPEMD160.cs
- PreviewPrintController.cs
- EnumConverter.cs
- DrawingAttributesDefaultValueFactory.cs
- OrderByExpression.cs
- PropertyPath.cs
- SortedDictionary.cs
- Switch.cs
- ObjectQuery_EntitySqlExtensions.cs
- PersianCalendar.cs
- CharUnicodeInfo.cs
- RepeaterItemEventArgs.cs
- UriExt.cs
- input.cs
- ToolboxControl.cs
- HeaderCollection.cs
- TemplatePropertyEntry.cs
- SystemIPGlobalProperties.cs
- RoleService.cs
- ResourcesBuildProvider.cs
- TextEditorCharacters.cs
- EncoderParameter.cs
- ConfigXmlElement.cs
- log.cs
- SafeWaitHandle.cs
- DataColumnChangeEvent.cs
- ContravarianceAdapter.cs
- GiveFeedbackEvent.cs
- MeasureData.cs
- ToolStripDesigner.cs
- ExpressionPrinter.cs
- ServerValidateEventArgs.cs
- HashHelper.cs
- DefaultParameterValueAttribute.cs
- xml.cs
- EntityConnectionStringBuilder.cs
- ZipPackagePart.cs
- FrameworkContextData.cs
- TypeDependencyAttribute.cs
- PrintDialog.cs
- xml.cs
- RecipientInfo.cs
- WsatExtendedInformation.cs
- MsmqDecodeHelper.cs
- ScriptingProfileServiceSection.cs
- MetadataCacheItem.cs
- DefinitionUpdate.cs
- Evaluator.cs
- DynamicObject.cs
- HtmlInputText.cs
- StorageEntityTypeMapping.cs
- X509IssuerSerialKeyIdentifierClause.cs
- ProfilePropertySettingsCollection.cs
- Marshal.cs
- Array.cs
- ReadOnlyHierarchicalDataSource.cs
- ItemCheckEvent.cs
- StringInfo.cs
- regiisutil.cs
- SymbolMethod.cs
- TreeViewAutomationPeer.cs
- SecurityException.cs
- RadioButtonRenderer.cs
- LineBreak.cs
- ObjectContextServiceProvider.cs
- SafeArrayRankMismatchException.cs
- Mappings.cs
- DetailsViewCommandEventArgs.cs
- EnumDataContract.cs
- MetafileHeader.cs
- CollectionChange.cs
- PropertyCondition.cs
- EmptyEnumerator.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- DefaultHttpHandler.cs
- _TransmitFileOverlappedAsyncResult.cs
- DocumentViewerConstants.cs
- ProviderBase.cs
- MethodRental.cs
- RouteItem.cs
- SchemaElement.cs
- TextParagraphView.cs
- InterleavedZipPartStream.cs
- UIElement3D.cs
- CustomErrorCollection.cs
- hwndwrapper.cs
- BamlTreeUpdater.cs
- ValidateNames.cs
- ContentPresenter.cs
- ServicePoint.cs
- IndividualDeviceConfig.cs
- AssociationSetMetadata.cs
- IChannel.cs
- Image.cs
- SystemIPInterfaceProperties.cs
- KeyEvent.cs
- AssemblyUtil.cs
- KeyTimeConverter.cs