sip*_*ipi 2 c++ winapi visual-c++
我正在使用原始系统通过将WM_MOUSEMOVE事件直接发送到Flash窗口来控制C++/win32程序中的Flash影片.
它适用于一个轴:
SendMessage( m_targetWindowHWND, WM_MOUSEMOVE, 0, xpos);
Run Code Online (Sandbox Code Playgroud)
但是我想现在发送x和y值.我知道这些包装在WM_MOUSEMOVEs lparam中.在C++中,可以使用MAKEPOINTS或GET_X_LPARAM/GET_Y_LPARAM解压缩.
但是我如何打包x和y,基本上与上面的宏相反.
我猜:
DWORD packed = y << 8 + x;
Run Code Online (Sandbox Code Playgroud)
谢谢
你正在寻找的宏是MAKELPARAM:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms632661(v=vs.85).aspx
LPARAM WINAPI MAKELPARAM(
WORD wLow,
WORD wHigh
);
Run Code Online (Sandbox Code Playgroud)
我相信它等同于MAKELONG(同样的东西,但返回一个DWORD),但又一次......也许有一个平台,LPARAM和DWORD的定义不同.: - /
编辑:显然LPARAM(和WPARAM!)现在都被定义在你的平台上的指针大小."L"(长)和"W"(单词)是历史的:LPARAM和WPARAM的定义是什么?
| 归档时间: |
|
| 查看次数: |
3679 次 |
| 最近记录: |