SendMessage返回0,GetLastError返回2(ERROR_FILE_NOT_FOUND
)。 ERROR_ACCESS_DENIED
已记录在案,但不是。任何人都知道这意味着什么?
答案 0 :(得分:2)
返回0的SendMessage没有,也不能表示失败。 SendMessage只返回WindowProc返回的值,通常是0.没有办法告诉 - 只是通过SendMessage返回 - 如果SendMessage无法传递消息(可能是因为窗口无效或属于更高的完整性级别进程) )。
如果消息被记录为返回0以外的内容,那么,再次根据消息,查看GetLastError()以查看消息处理失败的原因可能是有效的。
此外,没有OS函数可以清除最后一个错误代码,因此GetLastError()中的任何值都可以完全是偶然的。调用API然后调用GetLastError()可能意味着在先前的API调用中发生了错误,或者内部调用的API执行了一些“失败”但是已经处理并且API本身成功的操作。