当前位置:IT168首页 > 技术开发 > 概述
[收藏此页] [打印] [推荐] [评论]

WinCE互操作时传递托管控件句柄的小技巧

责任编辑:nancy作者:ITPUB论坛   2008-05-06   
文本Tag: 微软 sql

【IT168技术文档】

  在和Native Code打交道的时候,我们经常要传递某个控件(如form)的句柄(handle)给本地代码。下面的代码演示了如何使用Control的Copture属性和SetCapture,GetCapture方法来实现这个过程:
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;//设置ctrl为窗体焦点 IntPtr hWnd = GetCapture();获取当前焦点句柄(即ctrl) ctrl.Capture = false; SetCapture(hOldWnd);//还原Capture状态 return hWnd; } }
  调用的时候:
  IntPtr hWndButton = WinAPI.GetHWnd(button1);
  再把这个intPtr传给本地需要的函数中就Ok了。
上一页
1
下一页
收藏到: 添加到“百度搜藏”添加到“QQ书签”添加到“Google书签”添加到“Yahoo收藏”添加到“和讯网摘”
【内容导航】
本文欢迎转载,转载请注明:转载自IT168 [ http://www.it168.com/ ]
本文链接:http://tech.it168.com/d/2008-05-06/200805061012050.shtml
技术开发相关文章   .net server SQL 微软
  • 暂无
友情推介