SendMessage 返回 0 和 GetLastError 返回 2 ( ERROR_FILE_NOT_FOUND
)。ERROR_ACCESS_DENIED
记录在案,但不是这个。有人知道这意味着什么吗?
cedral
问问题
1114 次
1 回答
2
返回 0 的 SendMessage 不会也不能指示失败。SendMessage 只返回 WindowProc 返回的值,该值通常为 0。无法判断 - 仅通过 SendMessage 的返回 - 如果 SendMessage 无法传递消息(可能是因为窗口无效或属于更高完整性级别的进程)。
如果消息记录为返回 0 以外的值,则再次根据消息,查看 GetLastError() 以了解消息处理失败的原因可能是有效的。
此外,没有任何操作系统函数会清除最后一个错误代码,因此 GetLastError() 中的任何值都可能完全是偶然的。调用 API 然后调用 GetLastError() 可能意味着错误发生在之前的 API 调用中,或者内部调用的 API 执行了一些“失败”但被处理并且 API 本身成功的操作。
于 2009-09-30T08:41:05.703 回答