c++ - 64 位 SendMessage API

标签 c++ c winapi

根据MSDN

The return value specifies the result of the message processing; it depends on the message sent.

我知道它被定义为

typedef LONG_PTR LRESULT;

这意味着它将在 64 位机器上为 8 个字节,但事实并非如此!

有谁知道假设仅使用较低的 4 个字节并将其存储为 INT(例如)是否安全。

最佳答案

不,这不安全,因为返回值由发送的消息和处理程序定义。

如果您控制处理程序和消息,那么这是可能的,但在一般情况下这是不安全的。

詹姆斯

关于c++ - 64 位 SendMessage API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/283295/

相关文章:

c - 像 "void foo(int *const *p) "这样的东西真的存在吗?

.net - TBBUTTON 结构不适用于 SendMessage

c++ - WINAPI - 我想在一个单独的线程中进行消息泵

c++ - PrintWindow 导致标题栏中出现闪烁、奇怪的伪像

c++ - 使用 vector 时,pop_back 是否会连同元素一起删除值?

python - 使用 SWIG 将 C++ 对象指针传递给 Python,而不是再次传回 C++

java - C++ 到 java 数组的转换

c++ - 如何在此代码中正确使用 strcmp() ?

c - 在 C 中将 Int 附加到 char *

c - C 中棘手的宏