怎样获得.net控件的windows句柄(PPC)
2010-02-08 11:13
197 查看
问题:怎样获得.net控件的windows句柄
我们想调用windows API函数并且需要获得控件的句柄。怎样才能获得.net控件的windows句柄呢?
解决办法:
有一个简单的获得控件的句柄的窍门。你将窗体设置为鼠标可捕获,那么你的窗口句柄可以通过使用Windows API捕获。 这个想法在以下的GetHWnd函数中实现:
class WinAPI
{
[DllImport("coredll.dll")]
private static extern IntPtr SetCapture(IntPtr hWnd);
[DllImport("coredll.dll")]
private static extern IntPtr GetCapture();
public static IntPtr GetHWnd(Control ctrl)
{
IntPtr hOldWnd = GetCapture();
ctrl.Capture = true;
IntPtr hWnd = GetCapture();
ctrl.Capture = false;
SetCapture(hOldWnd);
return hWnd;
}
}
这是GetHWnd函数的简单用法:
IntPtr hWndButton = WinAPI.GetHWnd(button1);
我们想调用windows API函数并且需要获得控件的句柄。怎样才能获得.net控件的windows句柄呢?
解决办法:
有一个简单的获得控件的句柄的窍门。你将窗体设置为鼠标可捕获,那么你的窗口句柄可以通过使用Windows API捕获。 这个想法在以下的GetHWnd函数中实现:
class WinAPI
{
[DllImport("coredll.dll")]
private static extern IntPtr SetCapture(IntPtr hWnd);
[DllImport("coredll.dll")]
private static extern IntPtr GetCapture();
public static IntPtr GetHWnd(Control ctrl)
{
IntPtr hOldWnd = GetCapture();
ctrl.Capture = true;
IntPtr hWnd = GetCapture();
ctrl.Capture = false;
SetCapture(hOldWnd);
return hWnd;
}
}
这是GetHWnd函数的简单用法:
IntPtr hWndButton = WinAPI.GetHWnd(button1);
相关文章推荐
- 如何获得.net控件的windows句柄
- 获得.net控件的windows句柄的方法
- 如何获得.net控件的windows句柄
- (转)怎样获得与激活Windows 7超级管理员权限
- 怎样才能获得同一程序全部实例顶级窗口句柄
- C# Windows API应用之GetDesktopWindow ——获得桌面所有窗口句柄的方法
- MFC 怎样获得某个窗口的句柄?
- (多次点击只弹出一个对话框)怎样获得对话框的指针 或句柄 并把焦点定位到对话框上
- 怎样获得其它程序子窗口的句柄?
- VC Windows API应用之GetDesktopWindow ——获得桌面所有窗口句柄的方法
- MFC 怎样获得某个窗口的句柄?
- MFC 怎样获得某个窗口的句柄?
- 在C#里怎样获得当前Windows操作系统的语言种类?以及如何知道当前Windows版本?
- Windows下获得窗口实例句柄的3种方法
- windows下获得DC句柄的几个方法
- 获得ie句柄,并根据句枘操作iwebbrowser2对象
- windows 下在一个进程中使用createprocess创建一个窗口进程,并获取这个窗口的HWND句柄
- 获得当前Windows操作系统版本的详细描述信息
- 怎样获得年薪1000万的工作?华为离职副总裁的12条工作感悟
- 通过进程ID获得该进程主窗口的句柄