ERROR_FILE_NOT_FOUND在SendMessage中的含义是什么?

时间:2009-09-29 18:43:10

标签: winapi sendmessage file-not-found getlasterror

SendMessage返回0,GetLastError返回2(ERROR_FILE_NOT_FOUND)。 ERROR_ACCESS_DENIED已记录在案,但不是。任何人都知道这意味着什么?

1 个答案:

答案 0 :(得分:2)

返回0的SendMessage没有,也不能表示失败。 SendMessage只返回WindowProc返回的值,通常是0.没有办法告诉 - 只是通过SendMessage返回 - 如果SendMessage无法传递消息(可能是因为窗口无效或属于更高的完整性级别进程) )。

如果消息被记录为返回0以外的内容,那么,再次根据消息,查看GetLastError()以查看消息处理失败的原因可能是有效的。

此外,没有OS函数可以清除最后一个错误代码,因此GetLastError()中的任何值都可以完全是偶然的。调用API然后调用GetLastError()可能意味着在先前的API调用中发生了错误,或者内部调用的API执行了一些“失败”但是已经处理并且API本身成功的操作。