怎样通过鼠标的位置获得窗口的句柄
解决方案 »
- Delphi Label控件的重命名和删除
- 一程序调用多窗口的问题
- 关于中间件,三层,架构。。。
- 大家来帮忙,出出主意,共享200M免费空间。
- 怎样用ADOStoredProc 设计主/从报表呢???急切等待中
- 如何用Rename对D6的Samples页中的ShellListView中所选的文件改名呢?
- 求能在WIN2K下锁住WIN键的方法
- 好看的笑话,笑死俺了!问题:listview如何加入图片?
- 在Windows 2000中用D5作的程序为什麽在98或windows Me下不能用?高分相送
- 求助 关于DELPHI 5 的table进行多次emptytable就会报错并且清除mdx文件
- 无聊,烦躁,找人一起吐口水,反正分都是系统给的。。
- 我用vacomm发送数据,为何中途会有“output buffer is full”提示,咋处理啊
请问Getsafehwnd()是什么,
//将客户坐标转换成屏幕坐标
ClientToScreen(&point);
//返回一个包含指定屏幕坐标点的窗口
CWnd* pWnd = CWnd::WindowFromPoint(point);
if (pWnd)
{
//获取窗口句柄
HWND hwndCurr = pWnd->GetSafeHwnd();
if ((::GetWindowThreadProcessId (GetSafeHwnd(), NULL)) !=
(::GetWindowThreadProcessId (hwndCurr, NULL)))
{
pWnd:integer;
...ClientToScreen(point);
//返回一个包含指定屏幕坐标点的窗口
pWnd :=WindowFromPoint(point);
if pWnd<>0 then
begin
...
end;
if ((::GetWindowThreadProcessId (GetSafeHwnd(), NULL)) !=
(::GetWindowThreadProcessId (hwndCurr, NULL)))
请问这是什么意思
GetSafeHwnd是将CWnd转成HWND
其实应该就是判断当前窗口的进程ID和点point所在的窗口进程ID是否相等。