关于外设和程序交互的问题

kodobeast 2007-07-24 08:36:55
我想用电子枪代替鼠标玩射击游戏。电子枪会返回一个屏幕坐标。
我想编一个程序,将电子枪的消息封装成一个鼠标事件,发给那个射击游戏。有点类似代理的功能。谁能给个思路或者参考意见。谢谢!
...全文
186 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kodobeast 2007-07-25
  • 打赏
  • 举报
回复
我这个要跨进程的。而且这两个程序在运行的时候能切换吗?我这个服务程序接受消息,作为主程序。他把包装好的消息发给游戏。游戏没有作为系统的主程序在运行(我的意思就像你鼠标点击一个程序后。他才接受到和处理系统发过来的消息吧),那他能正常工作吗?
Y神圣 2007-07-25
  • 打赏
  • 举报
回复
再问问:我记得SendMessage是不是不能跨进程的?
Y神圣 2007-07-25
  • 打赏
  • 举报
回复
可以的,但是楼上的几位朋友,如果游戏里面没有对你消息的处理,你PostMessage过去是没有用的哈。
kodobeast 2007-07-24
  • 打赏
  • 举报
回复
FindWindow() 我用这个游戏的窗口名字做参数可以吗?
kodobeast 2007-07-24
  • 打赏
  • 举报
回复
游戏所在的窗口怎么获得那???比如一个射击游戏我怎么获得那个HWND那??
gclu212 2007-07-24
  • 打赏
  • 举报
回复
需要你那"电子枪"的驱动 如果厂商不提供 那就用汇编吧
lidongri 2007-07-24
  • 打赏
  • 举报
回复
1,驱动
2,信息传递
3,表示方式
4,坐标值提取
------
还有封装起来,供其他应用程序调用
sky4fly 2007-07-24
  • 打赏
  • 举报
回复
你可以自定义一个事件嘛, 然后程序handle这个事件就可以了
北极猩猩 2007-07-24
  • 打赏
  • 举报
回复
楼主的意思应该是把电子枪获得的坐标当作鼠标事件发给游戏。

你可以使用PostMessage或者SendMessage把WM_CLICK事件发给游戏所在的窗口。
星羽 2007-07-24
  • 打赏
  • 举报
回复


你可以自定义个消息

比如

#define WM_ELECTRON WM_USER + 100


然后通过 FindWindow 找到游戏窗口的 hWnd

发送消息

SendMessage(hWnd, WM_ELECTRON , (WPARAM)x, (LPARAM)y);






kodobeast 2007-07-24
  • 打赏
  • 举报
回复
我可以获得电子枪的驱动。可以知道坐标值。我不太了解怎么把这个信息发给正在运行的那个游戏。就是我怎么把电子枪封装好的消息加入到游戏的消息队列中

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧