FindWindow返回值始终为NULL
最近在做SPI防火墙,写了一个关于LSP的dll文件,现在的问题是:开机启动以后再点击运行我的防火墙主程序(MyFireWall.exe),dll可以通过FindWindow函数获得主程序的句柄。但是我将防火墙设置开机启动(在注册表HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run中添加我的主程序)后,主程序可以运行,但为什么在dll文件中调用FindWindow却始终返回NULL,开始怀疑是开机启动后防火墙的主对话框还未生成,我便通过一个循环语句来等待主对话框生成,但结果FindWindow始终返回为NULL,循环语句如下:
g_hWnd = ::FindWindow(L"#32770", L"MyFireWall");
while (g_hWnd == NULL)
{
Sleep(500);
g_hWnd = ::FindWindow(L"#32770", L"MyFireWall");
}
为什么点击运行和开机启动运行的结果不一样呢?
这个问题已经折磨我好几天了,敬请各位牛人帮助解答,不胜感激!