答案 0 :(得分:3)
MSDN说,如果函数失败,FindWindow
和FindWindowEx
将返回NULL,并且您应该检查GetLastError
。看来这个文档是错误的。拿这个代码片段:
SetLastError(12345);
HWND h = FindWindow(L"class_name_that_does_not_exist", nullptr);
cout << h << ' ' << GetLastError() << endl;
将输出
00000000 12345
因此,您可以看到FindWindow无法设置上一个错误。在您的情况下,这意味着ERROR_ALREADY_EXISTS
是调用FindWindow
之前的最后一个错误集。