如何在DOS窗口中输入?(40分)

  • 主题发起人 主题发起人 sy0116
  • 开始时间 开始时间
S

sy0116

Unregistered / Unconfirmed
GUEST, unregistred user!
有一DOS程序要求输入密码,我想写个程序自动输入,我打算用一下代码输入密码:zylzsq<br>但是不能实现,请问有什么办法可以实现?<br> &nbsp;hd:=FindWindow('ConsoleWindowClass',nil);<br> &nbsp;PostMessage(hd,WM_KEYDOWN,ord('z'),0);<br> &nbsp;PostMessage(hd,WM_KEYDOWN,ord('y'),0);<br> &nbsp;PostMessage(hd,WM_KEYDOWN,ord('l'),0);<br> &nbsp;PostMessage(hd,WM_KEYDOWN,ord('z'),0);<br> &nbsp;PostMessage(hd,WM_KEYDOWN,ord('s'),0);<br> &nbsp;PostMessage(hd,WM_KEYDOWN,ord('q'),0);<br> &nbsp;PostMessage(hd,WM_KEYDOWN,VK_RETURN,0);
 
我以前做过,可以的.好象是用的.bat(批处理)
 
终于找到解决的办法了,但不知道为什么把 &nbsp;Sleep(500);去掉之后就不可以了,用bat如何实现?<br>SendMessage(hd, WM_CHAR, Ord('z'), 0 );<br> &nbsp;Sleep(500);<br> &nbsp;SendMessage(hd, WM_CHAR, Ord('y'), 0 );<br> &nbsp;Sleep(500);<br> &nbsp;SendMessage(hd, WM_CHAR, Ord('l'), 0 );<br> &nbsp;Sleep(500);<br> &nbsp;SendMessage(hd, WM_CHAR, Ord('z'), 0 );<br> &nbsp;Sleep(500);<br> &nbsp;SendMessage(hd, WM_CHAR, Ord('s'), 0 );<br> &nbsp;Sleep(500);<br> &nbsp;SendMessage(hd, WM_CHAR, Ord('q'), 0 );<br> &nbsp;Sleep(500);<br> &nbsp;edt1.Text:='ok';<br> &nbsp;PostMessage(hd,WM_KEYDOWN,VK_RETURN,0);
 
用DOS的重定向&lt;、&gt;、
 
如何用重定向?
 
我怀疑dos接受指令是有一定的时间差的
 
给你写个简单的演示!<br><br>先进入DOS下,新建一个目录,放几个没用的文件(测试用)。然后依次输入下面的命令。<br>1,copn con ff.txt &nbsp;然后没有任何提示,光标一直闪。。。不用管。输入y。然后按CTRL+Z,回车。会提示一个文件复制<br><br>2,del . &lt; ff.txt<br><br>3,你会发现,目录下,除了FF.txt外,全被DEL了。这就是重定向。<br><br>如果还不懂,就自己Google一下吧。DOS的中级知识。
 
第二步,DEL后面有一个点!!!你要注意!(也可以写成*.*,作用一样。)<br><br>还有,注意你的当前目录。必须是你刚才新建的。不然,把C盘的重要东西,删了,和我就无关了!!!!!!
 
主要原因是楼主只写了KEYDOWN的消息,没有写KEYUP吧。
 
多人接受答案了。
 

Similar threads

后退
顶部