如何向后台程序发送鼠标和键盘事件?

skyweb2k 2002-10-26 11:46:04
如题, 我想要在不激活后台程序ss的情况下, 向后台程序发送鼠标或键盘消息.
其效果有些类似某些游戏外挂所做的那样.
...全文
590 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lincanwen 2003-01-08
  • 打赏
  • 举报
回复
handle:=findwindow(nil,'接收消息的窗口标题');
postmessage(handle,msg,0,0);
ohmygod 2003-01-08
  • 打赏
  • 举报
回复
我的程序也是出现这个问题,不过,通过消息处理好象是不能解决问题,当程序运行在后台,我那段消息处理程序段就没办法运行。

我也来关注一下。
bluebilly 2003-01-08
  • 打赏
  • 举报
回复
HOOK, 做一个DLL,里面有HOOK程序
调API函数
定义一个过程序函数,名字名HOOKPROC, SetWindowsHookEx(Keyboard, HookProc, wparam, lparam): lresult;
goease 2002-11-08
  • 打赏
  • 举报
回复
写消息处理过程
send消息,截获,看是什么消息
case wparam of
VK_up: ;
.
.
end;
zealothasu 2002-11-08
  • 打赏
  • 举报
回复
senmessage(handle, wm_lbuttondown,wparam,lparam)
看一下sdk
在wparam和lparam里面有关于鼠标的属性
如位置等
skyweb2k 2002-10-28
  • 打赏
  • 举报
回复
谢谢, 不过我的问题是如何向"后台运行"的程序发送鼠标和键盘消息,并且不能激活它.

简单说就是我一边做我自己的事情,比如上网聊天,然后一边在后台玩我的游戏,游戏窗体是被最小化了的,所以用Setcursorpos恐怕不能移动鼠标到正确的位置吧? 同样地keybd_event也只能发送到具有焦点的窗口, 我没有理解错吧?

我知道有些外挂是通过分析游戏的通讯协议来设计自动玩的, 但是如果我不这样做, 可不可行呢?
mprogramer 2002-10-28
  • 打赏
  • 举报
回复
这样恐怕不行吧,因为外挂的三种基本形式里面没有呀,呵呵.sendmessage双只能发送键盘操作.如果可以还是自已模拟游戏封包写一下发送封包的东东吧.
hongqi162 2002-10-28
  • 打赏
  • 举报
回复
学习!
mprogramer 2002-10-27
  • 打赏
  • 举报
回复
这是我已随手写的外挂中的一小段代码,仅供参考。大话西游的,试试吧!

keybd_event(VK_CONTROL,mapvirtualkey(VK_CONTROL,0),0,0);
keybd_event(65,mapvirtualkey(65,0),0,0);
keybd_event(65,mapvirtualkey(65,0),keyeventf_keyup,0);
keybd_event(VK_CONTROL,mapvirtualkey(VK_CONTROL,0),keyeventf_keyup,0);


getcursorpos(point);
setcursorpos(ranpoint(80,windowX),ranpoint(80,windowY));
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
setcursorpos(point.x,point.y);

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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