如何在 QT 应用程序中“WINAPI::GetLastError”?

Kaz*_*azz 0 c++ winapi qt

为什么 QT 应用程序中的最后一个错误始终为零?

SetLastError(23);
qDebug() << "LastError: " << GetLastError();
Run Code Online (Sandbox Code Playgroud)

预期输出:LastError:23

实际输出:LastError:0

我无法用谷歌搜索任何关于这个问题的信息。QT 是否有这些功能?

Igo*_*nik 5

DWORD lastError = GetLastError();
qDebug() << "LastError: " << lastError;
Run Code Online (Sandbox Code Playgroud)

始终在 API 调用失败后立即获取最后一个错误。那些干预qDebug()operator<<调用本身调用 Windows API 函数,这可能会也可能不会重置最后一个错误。