DELPHI 获得句柄并发送给窗口文本和回车

h:=FindWindow(nil,'WindowsTitle');h:=FindWindowEx(h,0,nil,0);ifh>0thenbeginshowmessag... h:=FindWindow(nil,'Windows Title');
h:= FindWindowEx(h,0,nil,0);
if h>0 then
begin
showmessage(‘找到句柄’);
SetForegroundWindow(h);
keybd_event(Ord(#13),0,0,0);
sleep(300);
keybd_event(Ord(#13),0,KEYEVENTF_KEYUP,0);
end;

程序已经可以执行到找到句柄,但是给窗口发送按键操作就不生效了,但是也没报错,不知道到底哪里出了问题。
其实就是想找到一个DOS窗口,然后输入文本和回车。

这个DOS窗口提示输入用户名,密码。

想让软件自动输入,也就是,先发送用户名给DOS窗口,再发送回车,再发送密码,再发送回车。
展开
 我来答
cb120520025
2010-05-16 · TA获得超过347个赞
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:581万
展开全部
//改成这样试下吧

var
h :THandle;
i :integer;
const
user = 'user';
pw = 'pw';
begin
h := FindWindow(nil,'Windows Title');
h := FindWindowEx(h,0,nil,0)
if h <> 0 then
begin
showmessage('找到句柄');
SetForegroundWindow(h);
for i := 1 to Length(user) do
SendMessage(h,WM_CHAR,Ord(user[i]),0); //输入帐号
PostMessage(h,WM_KEYDOWN,VK_RETURN,0);
sleep(300);
for i := 1 to Length(pw) do
SendMessage(h,WM_CHAR,Ord(pw[i]),0); //输入密码
PostMessage(h,WM_KEYDOWN,VK_RETURN,0);
end;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式