DELPHI编程,调用外部程序后,如何让程序自动输入用户名或密码! ( 积分: 50 )

  • 主题发起人 主题发起人 Apollo_BD
  • 开始时间 开始时间
A

Apollo_BD

Unregistered / Unconfirmed
GUEST, unregistred user!
DELPHI编程,调用外部程序如“c:/program/ts.exe”,这个程序有用户名和密码输入界面,如果编程实现用户名和密码的输入并登录!
 
模拟键盘输入 Keybd_Event
 
如何应用呢,能否请大侠给个例子啊?
 
1:如果ts是你自己开发的,让ts支持参数运行!调用ts直接加用户名密码参数即可!
2:如果ts你只有exe文件,那么在delphi可以试着查试ts窗体句柄传递用户名和密码
 
如果ts有自动登陆,或记住用户名密码功能,就找找看,他写什么到注册表,或者自己的配置文件里了,如果可以找到, 修改配置文件也可以啊
 
对,ANiDelphi的方法最好
 
启动c:/program/ts.exe程序并等待它初始化完成
然后通过API函数找到用户名和密码框的句柄
setwindowtext设置内容
然后再查找登陆按钮的句柄
向其发送消息就可以了
 
SetWindowText(hwdn:HWND;lpText:PAnsiChar);
PostMessage(hButton,WM_CLICK,0,0);
 
SetWindowText是不是只能设置窗口标题!而不能改变窗口上如Tedit上TEXT的内容!
FindWindow ,是不是只能找到windows的句柄,而不能找到窗口上控件的句柄呢?
 
Winexec(Pchar(c:/program/ts.exe),SW_SHOWNORMAL);
hbuttonwdn:=FindWindow('Button','');
SetWindowText(hbuttonwdn,'10001');
怎么不行啊?想输入用户名!
 
类名为button的窗口多得是,你这样找肯定不行。
 
那怎么找啊
 
Winexec(Pchar(c:/program/ts.exe),SW_SHOWNORMAL);
hbuttonwdn:=FindWindow('TButton','你的Button实际名字');
SetWindowText(hbuttonwdn,PChar('10001'));
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部