通过prosscessid得到窗口的句柄可以吗? 通过进程id可以知道该窗口的句柄吗,如果该进程是个有窗口的win32位程序?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 通过某进程的 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 就是主窗口了。 } } GetWindowThreadProcessIdEnumWindows枚举 窗口 谢谢,听说还有这么一个函数Process * GetProcessById(int val),请问在vc6.0下如何使用这个函数? 穷举桌面所有窗体,然后比较processid 可以,调用序列:OpenProcess // 运用PID打开这个进程,权限设定为PROCESS_QUERY_INFORMATION,得到起进程句柄EnumWindow // 枚举,直到找到与之前进程匹配的窗体 大侠帮帮忙呀,请问如何在vc6.0下如何使用Process * GetProcessById(int val),这个函数在vc.net中是可以用的,谢谢 没这个函数,那是.NET类库里的东西。 CFormView动态创建工具栏,程序运行后按钮不能使用 CInternetSession的问题 mfc中控件的关联变量的一点疑问 求救一个登录界面的问题 菜菜鸟刚学vc++,照书上的例子做了一个数据库的程序,提示的错误是什么意思啊?? 关于语音压缩......... 高分悬赏 vc vb 结构体转换问题 win7模拟触屏输入的问题 紧急 请教为什么使用Cmarkup中的Load函数返回值总是false vista怎么用api修改系统默认的音效装置 我想改添加与删除里面的图标,不知道为什么老改不了,用写nsi文件的来做安装程序 请帮我这个项目提提建议,100分
---------------------------------------------------------------
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 就是主窗口了。
}
}
EnumWindows枚举 窗口
OpenProcess // 运用PID打开这个进程,权限设定为PROCESS_QUERY_INFORMATION,得到起进程句柄
EnumWindow // 枚举,直到找到与之前进程匹配的窗体