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

SetLastError(23);
qDebug() << "LastError: " << GetLastError();


预期输出:
LastError:23

实际输出:
LastError:0

关于此问题,我无法通过Google搜索。 QT是否钩住了这些功能?

最佳答案

DWORD lastError = GetLastError();
qDebug() << "LastError: " << lastError;


请务必在API调用失败后立即抓住最后一个错误。那些介入的qDebug()operator<<自己调用Windows API函数,这些函数可能会也可能不会重置上一个错误。

10-08 10:47