如何获取无标题对话框的句柄或者指针
怎么获取无标题对话框的句柄或者指针?
WinCE程序, SPY++神马的应该是没的跑
没有标题
在一个线程里, 如何获取某个对话框的句柄或者指针??
------解决方案--------------------
你也可以在创建的时候获得句柄,保存备用,也可以留个接口,给外部提供获取
------解决方案--------------------
WindowFromPoint
------解决方案--------------------
貌似可以用CreateToolhelp32Snapshot
然后枚举进程ID,根据进程名获取句柄。
------解决方案--------------------
------解决方案--------------------
我曾经写的监视进程程序,对你肯定有帮助,有对无窗体进程的搜索和查询
WinCE程序, SPY++神马的应该是没的跑
没有标题
在一个线程里, 如何获取某个对话框的句柄或者指针??
------解决方案--------------------
你也可以在创建的时候获得句柄,保存备用,也可以留个接口,给外部提供获取
------解决方案--------------------
WindowFromPoint
------解决方案--------------------
貌似可以用CreateToolhelp32Snapshot
然后枚举进程ID,根据进程名获取句柄。
------解决方案--------------------
------解决方案--------------------
我曾经写的监视进程程序,对你肯定有帮助,有对无窗体进程的搜索和查询
- C/C++ code
int MyWatch(char * thread_name) { PROCESSENTRY32 pe32; char * mychar; BOOL bstart=TRUE; HANDLE hProcessSnap; while(1) { pe32.dwSize=sizeof(pe32); hProcessSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if(hProcessSnap==INVALID_HANDLE_VALUE) { printf("CreateToolhelp32Snapshot调用失败!\n"); return -1; } //遍历进程快照。轮流显示每个进程的信息 bstart = TRUE; BOOL bMore=::Process32First(hProcessSnap,&pe32); while(bMore) { USES_CONVERSION; //启用宏命令标记 mychar = W2A(pe32.szExeFile); if(0==strcmp(thread_name,mychar)) //比较你的进程名字是否相同,判断是否进程在启动 { printf("你的程序在运行!"); bstart = FALSE; break; } // printf("进程名称:%s\n",W2A(pe32.szExeFile)); // printf("进程ID号:%u\n\n",pe32.th32ProcessID); bMore=::Process32Next(hProcessSnap,&pe32); } if(bstart) { ShellExecute(0, _T("open"), _T("D:\\result.txt"),NULL,NULL,SW_SHOWNORMAL); //启动你要的exe文件,D:\\result.txt是我自己的测试 } Sleep(5000);//5秒监测一次 } //清除snapshot对象 ::CloseHandle(hProcessSnap); return 0; }
------解决方案--------------------