4

有谁知道什么会导致FindWindow函数返回错误:

ALREADY_EXISTS 错误 (183)

我可以理解 a FILE_NOT_FOUND (2),但为什么它会返回 a 183

4

1 回答 1

3

MSDN 说,如果函数失败FindWindowFindWindowEx返回 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

于 2014-07-04T11:38:15.253 回答