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
Download Visual Studio Add-In

GetCapture (coredll)
 

coredll is for smart devices, not desktop Windows. Therefore, this information only applies to code using the .NET Compact Framework. To see if information for GetCapture in other DLLs exists, click on Find References to the right.

.
Summary
Retrieve a handle to the window that has captured mouse/stylus input.

C# Signature:

[DllImport("coredll.dll")]
static extern IntPtr GetCapture();

VB .NET Signature:

Declare Function GetCapture Lib "coredll.dll" () As IntPtr

User-Defined Types:

None.

Notes:

None.

Tips & Tricks:

You can use GetCapture in conjunction with SetCapture to obtain the window handle of a Control. See the sample code below.

Sample Code:

public IntPtr GetHWnd(Control ctrl)
{
   IntPtr hOldWnd = GetCapture();
   ctrl.Capture = true;
   IntPtr hWnd = GetCapture();
   ctrl.Capture = false;
   SetCapture(hOldWnd);
   return hWnd;
}


This is a way of getting a 'dialog' window on PocketPC

{

private const int RequiredWidth = 200;

private const int RequiredHeight = 148;

This is a way of getting a 'dialog' window on PocketPC

private void Form_Load(object sender, System.EventArgs e)

{

    this.Capture = true;
    IntPtr hWnd = GetCapture();

    SetWindowPos(hWnd,
        hWnd,
        (Screen.PrimaryScreen.Bounds.Width-RequiredWidth)/2,
        30,
        RequiredWidth,
        RequiredHeight,
        0);
    }

private const int RequiredWidth = 200;

private const int RequiredHeight = 148;

[DllImport("coredll.dll")]

static extern IntPtr GetCapture();

[DllImport("coredll.dll")]

static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X,

    int Y, int cx, int cy, uint uFlags);

}

private void Form_Load(object sender, System.EventArgs e)

{

    this.Capture = true;
    IntPtr hWnd = GetCapture();

    SetWindowPos(hWnd,
        hWnd,
        (Screen.PrimaryScreen.Bounds.Width-RequiredWidth)/2,
        30,
        RequiredWidth,
        RequiredHeight,
        0);
    }

Alternative Managed API:

None

[DllImport("coredll.dll")]

static extern IntPtr GetCapture();

[DllImport("coredll.dll")]

static extern IntPtr SetCapture(IntPtr hWnd);

[DllImport("coredll.dll")]

static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X,

    int Y, int cx, int cy, uint uFlags);

Alternative Managed API:

None

Documentation
GetCapture 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