说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

如何得到其它进程相关信息并模拟键盘和鼠标输入进行控制???

编辑:说三道四文库 发布时间:2018-02-24 10:28
HTML文档下载 WORD文档下载 PDF文档下载
各位仁兄:
       在windows程序中如何得到其它进程相关信息并模拟键盘和鼠标输入进行控制?
 
       1、首先是如何得到其它进程信息,例如对话框及其上的控件据柄 
  
       2、如何模拟键盘和鼠标输入进行控制?即不实际敲击键盘和鼠标,但程序      却象用户在输入一样,一步步进行(例如,用鼠标点击按钮,然后在弹出的文本框中输入文字,然后关闭) ;程序如何给那个进程自动送鼠标和键盘消息??
  
       本人近日看到一“类病毒”程序实现此功能,深思不得其解。 
       
你在程序员大本营里找一找,有一个OnscreenKeyboard的例子,是一个仿真的键盘,你可以看看。
1.若仅需控见句炳,可用FindWindow()/EnumChildWindows(),若须其他信息常先用CreateToolhelp32Snapshot(),再用Process32First()/Process32Next()等函数
2.可用SendInput()/keybd_event()/mouse_event(),或直接SendMessage()/PostMesage()给控件。
具体参见msdn
感谢wbc_58(我是我)和mountlin(怎么办)的解答,小弟懂一点点了,正在尝试。请同志们继续
发表高见
产生键盘事件的函数是

     keybd_event(BYTE bVk, BYTE bScan,
                 DWORD dwFlags, DWORD dwExtraInfo);

下面以模拟 Alt-TAB 为例说明这个函数的使用方法:

// Generate Keystroke sequence Alt-TAB

        keybd_event(VK_MENU,0,0,0);
        keybd_event(VK_TAB,0,0,0);
        keybd_event(VK_TAB,0,KEYEVENTF_KEYUP,0);
        keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0);
搞定?
感谢gop(ÒÓ)的代码,我不用查书了
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘