Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than user32, prefix the name with the module name and a period.
Private Declare Function GetDC Lib "user32" (ByVal hWnd As IntPtr) As IntPtr
VB.NET Signature:
<DllImport("User32.dll", EntryPoint:="GetDC", _
CallingConvention:=CallingConvention.StdCall, _
CharSet:=CharSet.Auto, exactspelling:=True)> _
Public Shared Function GetDC(ByVal hwnd As IntPtr) As Int32
End Function
User-Defined Types:
None.
Notes:
Given the level of transparency provided by the System.Drawing.Graphics class, it is probably better to use that instead of GetDC.
Remember, if you use GetDC manually without the Graphics class, you must call ReleaseDC.
This method can also be declared using an IntPtr instead of a HandleRef. Using a HandleRef ensures that the window will not be destroyed/GCed while the function is executing.
An IntPtr is a pointer to a memory location (unmanaged) that adapts to the platform it is running on (64-bit, etc.) UNLIKE a standard int/Integer. You should always use this type for unmanaged calls that require it, even though an int will appear to work on your development machine.
1/13/2008 4:00:13 AM - Damon Carr-72.43.165.29
A HandleRef is essentially an IntPtr to a handle and a reference to the object the handle belongs to. Using HandleRef prevents the GC from collecting the object until the native method is done with it.
7/22/2009 9:41:44 AM - -212.251.139.186
A HandleRef is essentially an IntPtr to a handle and a reference to the object the handle belongs to. Using HandleRef prevents the GC from collecting the object until the native method is done with it.
7/22/2009 9:41:44 AM - -212.251.139.186
The EnumDisplayMonitors API
6/15/2020 1:24:20 PM - -165.214.11.71
Creates a device context for a device using the specified name.
10/27/2016 8:27:49 AM - -202.74.138.1
Please edit this page!
Do you have...
helpful tips or sample code to share for using this API in managed code?
corrections to the existing content?
variations of the signature you want to share?
additional languages you want to include?
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).