知道应用程序的handle时,如何得到该程序主窗体的hwnd 我要使用SendMessageTimeout函数。必须知道主窗体的hwnd,现在我知道了进程的handle,怎么得到主窗体的hwnd????????? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我通过CreateToolhelp32Snapshot遍历了整个进程,我想通过某进程的 HANDLE获取其对应主窗体的HWND,如何办?请高手指教。 --------------------------------------------------------------- EnumWindows(EnumWindowsProcGetWndTitle,0); //得到所有窗口列表 void EnumWindowsProcGetWndTitle(hWnd,lparam) { DWORD ProcID = 0; GetWindowThreadProcessId(hWnd,&ProcID); if(ProcID==YourProcID)//如果窗口的processid等于你的ID { HWND pWnd = GetParent(hWnd); while(GetParent(pWnd)!=NULL)//得到父窗口的句柄 pWnd = GetParent(pWnd); //ok pWnd 就是主窗口了。 } } hWnd是指的什么?YourProcID是什么,是不是进程HANDLE? hwnd is the top-level window is enumeratedYourProcID is your process id UDP发送端指定端口 多线程访问同一个数据库,需要加锁么? 关于ActiveX控件如何实现Socket的UDP接收数据功能 vs2005 更改文件夹时如何保存suo文件中的书签? OnPaint中图形重绘问题 如何让CPropertySheet嵌在主对话框中?(在线等) 代码的优化 (九)(小疯子) 招聘C++程序员 想用SQL进行非精确查询,可是'%'这个字符怎样才能放到一个字符串里? 我有 hDib, 怎样才能得到 IPicture ? 网格着色问题:怎样实现网格之间的颜色过渡比较平滑 写好了Service的程序,忘记了在命令行下用什么命令安装exe文件?
---------------------------------------------------------------
EnumWindows(EnumWindowsProcGetWndTitle,0); //得到所有窗口列表
void EnumWindowsProcGetWndTitle(hWnd,lparam)
{
DWORD ProcID = 0;
GetWindowThreadProcessId(hWnd,&ProcID);
if(ProcID==YourProcID)//如果窗口的processid等于你的ID
{
HWND pWnd = GetParent(hWnd);
while(GetParent(pWnd)!=NULL)//得到父窗口的句柄
pWnd = GetParent(pWnd);
//ok pWnd 就是主窗口了。
}
}
YourProcID is your process id