Search
Module:
Directory

   Desktop Functions:

   Smart Device Functions:


Show Recent Changes
Subscribe (RSS)
Misc. Pages
Comments
FAQ
Helpful Tools
Playground
Suggested Reading
Website TODO List
Support Forum
Download Visual Studio Add-In

Terms of Use
Privacy Policy
getdc (user32)
 
.
Summary
The GetDC function retrieves a handle to a device context (DC) for the client area of a specified window or for the entire screen. You can use the returned handle in subsequent GDI functions to draw in the DC. The device context is an opaque data structure, whose values are used internally by GDI. The GetDCEx function is an extension to GetDC, which gives an application more control over how and whether clipping occurs in the client area.

C# Signature:

[DllImport("user32.dll")]
static extern IntPtr GetDC(IntPtr hWnd);

VB.NET Signature:

<DllImport("user32.dll")> _
Private Shared Function GetDC(ByVal hwnd As IntPtr) As IntPtr
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.

Tips & Tricks:

To get the DC for a specific display monitor, use the EnumDisplayMonitors and CreateDC functions.

Sample Code:

Please add some!

Alternative Managed API:

System.Drawing.Graphics.FromHwnd(IntPtr hwnd)

Documentation
GetDC on MSDN

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).

 
Access PInvoke.net directly from VS:
Terms of Use
Edit This Page
Find References
Show Printable Version
Revisions