【发布时间】:2011-06-24 05:09:01
【问题描述】:
我正在将 IR 电视控制器添加到计算机。到目前为止,我设法使用 JAVA 机器人类和提示命令读取了控制器数据、映射键并分配了大量功能。
我现在想创建播放/暂停、停止音量+ 和音量- 功能。问题是它不能通过java直接完成。我知道正确的方法是使用 JNI,但我现在没有时间学习它。
我找到的解决方案是创建只包含 SendMessage 函数的 exe 文件。例如,播放/暂停功能的代码是:
#include <windows.h>
#define WM_APP_COMMAND 0x319
#define PLAY_PAUSE 0xE0000
int main() {
SendMessage((HWND)(~0), WM_APP_COMMAND, 0, PLAY_PAUSE);
return 0;
}
该程序可以正常工作,但它不是只发送一条消息,而是不停地发送。
我不得不质疑。首先,当然是代码无法正常工作的原因。是否缺少 break 命令或其他什么?
其次是为 Windows 处理程序分配 ~0(或 0xFFFF)的含义。
谢谢,我愿意接受任何解决方案。
【问题讨论】:
标签: java c windows sendmessage