棘手的问题,哪位有好办法实现啊(200分)

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

sjx

Unregistered / Unconfirmed
GUEST, unregistred user!
为了安全,当用户打开sql的查询分析器时用自己的客户端程序输入密码并点确定键,如何实现啊(实在不行,手动点传入密码也可以)?
 
findwindow
attachthreadinput
sendmessage(wm_settext
keyboard_event
 
procedure TForm1.Button1Click(Sender: TObject);
var
hedit,hButton, hParent :THandle;
begin
hParent := FindWindow(nil,pChar('连接到 sql server'));
hedit:= FindWindowEx(hParent,0,'edit','');
hButton:= FindWindowEx(hParent,0,nil,'确定');
SendMessage(hedit,WM_SETTEXT,0,LongInt(Pchar('密码')));
sendMessage(hButton,BM_CLICK,0,0);
end;
密码总是发送到登录名的edit里,到不了密码的edit,哪位高手帮看下啊[:(]
 
加attachthreadinput
 
to wql
attachthreadinput我实在不懂,不过自己解决了
procedure TForm1.Button1Click(Sender: TObject);
var
hedit1,hedit,hButton, hParent :THandle;
begin
hParent := FindWindow(nil,pChar('连接到 sql server'));
hedit1:= FindWindowEx(hParent,0,'edit',nil);
hedit:= FindWindowEx(hparent,hedit1,'edit',nil);
hButton:= FindWindowEx(hParent,0,nil,'确定');
SendMessage(hedit,WM_SETTEXT,0,LongInt(Pchar('密码')));
sendMessage(hButton,BM_CLICK,0,0);
end;
能告诉我attachthreadinput是怎么回事吗?如果嫌麻烦也可以不回答,总之分一定要送的,再次谢谢了!!!!
 
能告诉我attachthreadinput是怎么回事吗?

attachthreadinput就是附加输入线程
 
轉換一下思路,查詢分析器調用是可以支持參數的,包括服務器地址,用戶名稱,密碼,你寫個程序調起來。不知道是否符合?
 
接受答案了.
 
后退
顶部