Czy ktoś wie, co spowoduje, że funkcja FindWindow
zwrócić błąd:FindWindow error 183
ALREADY_EXISTS error (183)
mogłem zrozumieć FILE_NOT_FOUND (2)
, ale dlaczego zwróci 183
?
Czy ktoś wie, co spowoduje, że funkcja FindWindow
zwrócić błąd:FindWindow error 183
ALREADY_EXISTS error (183)
mogłem zrozumieć FILE_NOT_FOUND (2)
, ale dlaczego zwróci 183
?
MSDN mówi, że FindWindow
i FindWindowEx
zwróci wartość NULL, jeśli funkcja się nie powiedzie i że powinieneś sprawdzić GetLastError
. Wydaje się, że ta dokumentacja jest błędna. Weź ten fragment kodu:
SetLastError(12345);
HWND h = FindWindow(L"class_name_that_does_not_exist", nullptr);
cout << h << ' ' << GetLastError() << endl;
Będzie wyjście
00000000 12345
Więc jak widać FindWindow nie określa ostatniego błędu. W twoim przypadku oznacza to, że ERROR_ALREADY_EXISTS
był ostatnim błędem ustawionym przed wywołaniem FindWindow
.
Nie powiedziałbym, że FindWindow nie ustawił ostatniego kodu błędu. Jest to zgodne z projektem, nie ustawia ostatniego kodu błędu. – Asesh
@ Assesh Oczywiście nie przeczytałeś dokumentacji MSDN (którą połączyłem w mojej odpowiedzi). –
Czy jesteś pewien, że 'FindWindow' to ten, który zwrócił ten błąd? Czy możesz opublikować kod, aby pokazać nam, co robisz? –
FindWindow nigdy nie doprowadziłoby do JUŻ JUŻ DZIENNIKÓW. Nie spowoduje to też FILE_NOT_FOUND. Czy na pewno szukasz czegoś, euhmmm ..., okna? Nie szukasz pliku? – NGLN
Czy możesz udostępnić kod? Czy wywołujesz GetLastError po FindWindow, czy bierzesz pod uwagę zwracaną wartość jako kod błędu? – Ajay