
delphi 里有窗体的控件,都有一个 handle 属性,里面保存的就是窗体的句柄。
如果是想要获取软件(程序)之外的窗体句柄,可以使用 win32 函数:FindWindow 或GetWindow来遍历查找,示例代码如:
handle := FindWindow(nil,PChar('窗口的标题'))FindWIndow 示例:
procedure TForm1.Button1Click(Sender: TObject)var
hCurrentWindow: HWnd
WndText:String
begin
hCurrentWindow := GetWindow(Handle, GW_HWNDFIRST)
while hCurrentWindow <> 0 do
begin
WndText:=GetWndText(hCurrentWindow)
if UpperCase(WndText)='窗口的标题' then begin
...
...
end
hCurrentWindow:=GetWindow(hCurrentWindow, GW_HWNDNEXT)
end
end
//改成这样试下吧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
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)