如何控制其它程序的输入(100分)

  • 主题发起人 主题发起人 boclif
  • 开始时间 开始时间
B

boclif

Unregistered / Unconfirmed
GUEST, unregistred user!
我想写一程序,用来控制一个TELNET登陆的命令输入,具体说,在WINDOW平台下用telnet 登陆到其它UNIX主机中,写一个程序来控制这个登陆程序,用来输入一些命令.
 
取得登陆窗口的句柄,然后发消息控制
 
to 迷糊 能不能给个具体程序,怎样发消息控制呢,怎样发出一条程序如ls等,我只能取到登陆窗口的句柄,用怎样才能向命令行中发消息呢。

分不够可以再加,还望赐教。
 
procedure TForm1.Button1Click(Sender: TObject);
var
h:Thandle;
begin
h:=FindWindow(nil,'信使服务 '); //比如说你打开了信使服务 ,找到句柄
h:=FindWindowEx(h,0,'button','确定'); //找到确定按钮的句柄
PostMessage(h,BM_Click,0,0); //向其发送Click消息
PostMessage(h,BM_Click,0,0); //经验正可行
//只是示例具体情况各有不同
end;
 
to cnaoszh: telnet 后出现的是字符界面,没有button等按钮,象是DOS界面程序一样.
 
procedure SendKeys(windowhld:hwnd;sSend:string);
var
i:integer;
Sstr:string;
ch: byte;
begin

if windowhld= 0 then Exit;
i := 1;
while i <= Length(sSend) do
begin
ch := byte(sSend);
if Windows.IsDBCSLeadByte(ch) then
begin
Inc(i);
SendMessage(focushld, WM_IME_CHAR, MakeWord(byte(sSend), ch), 0);
end
else
SendMessage(focushld, WM_IME_CHAR, word(ch), 0);
Inc(i);
end;
end;
 
搞 定,非常感谢.
 
后退
顶部