有两个问题,都是关于查找窗口的,只是两种方法一:比如有10个程序标题都是为:地球,如果循环查找出这10个句柄,好象用个FindWindowEx方法吧?
CString str="地球";
HWND hwnd=::FindWindow(NULL,str);
二:枚举所有窗口句柄,并且查找标题,好象用的下面两个函数,可否举例说明
EnumWindows
GetWindowText
CString str="地球";
HWND hwnd=::FindWindow(NULL,str);
二:枚举所有窗口句柄,并且查找标题,好象用的下面两个函数,可否举例说明
EnumWindows
GetWindowText
解决方案 »
- 子窗口怎样访问数据库?
- CHeaderCtrl
- SDI程序退出时都会做什么工作?
- 非模式对话框的创建: 去掉_DEBUG的定义就出问题? AfxFindResourceHandle()函数修改this指针??
- 〓〓〓〓 散分庆祝自己成为VC/MFC版大斑竹(试用期内)——1〓〓〓〓
- 怎么判断字符串指针str指向有效字符串?
- 请问:Protected和public变量在使用上有什么不同?
- 求寻资料
- http://www.vckbase.com是怎么回事,为啥访问不了,都好多天了
- 请问如何用CSocket来传送一个HICON变量?串行化好象不行。
- 一个拷贝文件的问题
- 在VC6.0界面中将摄像机拍摄的图像实现出来
回调函数EnumWindowsProc为:
BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lparam)
{
CString strPrompt;
DWORD ProcId;
DWORD ThreadId;
ThreadId=GetWindowThreadProcessId(hwnd,&ProcId)
if(ProcId==ProcessInfo.dwProcessId)
{
HWND targetWin;
targetWin=hwnd;
while(true)
{
HWND hTemp;
hTemp=GetParent(targetWin);
if(hTemp==NULL)
break;
else
targetWin=hTemp;
}
char szTemp[255];
sprintf(szTemp,"%x",ProcId);
CString strTemp=szTemp;
GetWindowText(targetWin,strTemp.GetBuffer(255),255);
return FALSE;
}
else
return true;
}