H
herald
Unregistered / Unconfirmed
GUEST, unregistred user!
postmessage API 函数的古怪问题<br>我有一个程序,是一个外挂,自动寻找一个包含股票帐号、交易密码、通讯密码的login窗口。<br>现在我的代码已经实现了自动寻找到这个包含股票帐号、交易密码、通讯密码的login窗口,<br>也找到了输入帐号的那个edit控件,现在我需要模拟按键输入一串帐号。发送之前需要删除<br>edit控件中的已有的帐号(如果有的话)。之后才是发送一个帐号字符串。<br><br>以下代码,可以实现发送帐号,但是有以下麻烦:<br>1。如果点击鼠标,让股票交易的login窗口获得焦点,那这个code就可<br> 以自动删除账号edit框中的内容。并且可以自动输入帐号。<br>2。进行步骤1后,如果没有点击鼠标,让股票交易的login窗口获得焦点,<br> 那这个code就只能实现输入账号,无法删除已有的内容。<br><br><br>我百思不得其解,请高手指教,以下这个代码,在对其他edit控件进行操作也是同样的现象。<br><br><br>以下是模拟输入一个账号的,senmessage代码<br>其中CWnd *cwnd是需要输入账号的cwnd对象。<br>char *str是需要输入的帐号字符串<br>BOOL is_combobox是一个无关紧要的参数,已经不使用了<br><br><br>void C_ABchina_FJ_yzt_login::sendkey_serial(CWnd *cwnd,char *str,BOOL <br>is_combobox)<br> //往一个windows对象中发送keycode<br>{<br> int i;<br> cwnd->SetFocus();<br> for(i=0;i<30;i++) //删除已有的内容<br> { cwnd->SendMessage(WM_KEYDOWN,VK_DELETE); //经常不能刷新combobox 文本<br> //Sleep(3);<br> cwnd->SendMessage(WM_KEYUP,VK_DELETE);<br> //Sleep(3);<br> }<br> while(*str!=0x00) //输入新的内容<br> {cwnd->PostMessage(WM_CHAR, *str, 0);<br> str++;<br> }<br>}<br><br><br>请相信我,我写的程序是绝对合法的程序。只是我想自己使用的一个code,绝对不是黑客之类的代码。<br>请相信我,我写的程序是绝对合法的程序。只是我想自己使用的一个code,绝对不是黑客之类的代码。