delphi 控件怎么获得窗体的句柄

delphi 控件怎么获得窗体的句柄,第1张

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


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11354027.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存