关于C++循环问题

来源:百度知道 编辑:UC知道 时间:2024/05/27 14:50:19
我现在想实现一个功能。就是当程序运行后,就一直寻找一个窗口。
例如该窗口名为"abc",当ABC存在的时候,退出循环并跳出信息框。
下面是我的代码,为何不能实现?而且程序有假死的情况。
while(1)
{
static bool IFound = false;
HANDLE targetwindow = FindWindow(NULL,"ABC");
if(targetwindow)
{
IFound=true;
MessageBox(0,"OK","OK",0);
}
if(IFound)
break;
}
或者有其他更好的实现方法?
回tanyuguo:
我的代码如下:
int __stdcall WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )
{
while(1)
{
static bool IFound = false;
HANDLE targetwindow = FindWindow(NULL,"ABC");
if(targetwindow)
{
IFound=true;
MessageBox(0,"OK","OK",0);
}
if(IFound)
break;
}
}
主程序窗口不能显示出来。假死状态。

程序没问题啊,我测试过了,无论是先打开窗口abc,还是等此程序运行后再打开窗口abc,都会弹出信息框.

你这里面似乎连窗体都没有创建把、、

MessageBox(0,"OK","OK",0);应改为MessageBox("OK","OK",0);