用DELPHI控制下载弹出窗口,并点击保存为何不行
我用DELPHI想在弹出文件下载窗口后直接模拟点击保存按钮,但不成功,只能把焦点停在保存按钮上,之后的动作不执行,请各位高手帮忙指点,代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
H,hc: HWND;
i:integer;
begin
h := findwindow(nil, '文件下载');
if H > 0 then
begin
// FindWindowEx(h,0, 'Button', '保存(&S)')
hc := FindWindowEx(h,0, 'Button', '保存(&S)');
if hc> 0 then
begin
// windows.SetForegroundWindow(h);
SendMessage(hc, WM_LBUTTONDOWN, 0, 0);
// Sleep(20);
SendMessage(hc, WM_LBUTTONUP, 0, 0);
// Sleep(20);
// SendMessage(hc, BM_CLICK, 0, 0);
// Sleep(20);
PostMessage(hc, BM_CLICK, 0, 0);
// PostMessage(hc, WM_KEYDOWN, VK_RETURN, 0); SendMessage(hc, WM_LBUTTONDOWN, 0, 0);
// SendMessage(hc, VK_RETURN, 0, 0);
// keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);
//PostMessage(hc,VK_RETURN,13,0);
{ SendMessage(hc, WM_LBUTTONDOWN ,MK_LBUTTON, MAKELPARAM (100, 200));
SendMessage(WM_COMMAND, ID_FILE_SAVE_AS, 0);
keybd_event(VK_MENU, 0, 0, 0);
keybd_event(VK_RETURN, 0, 0, 0);
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0);
SendMessage(hc, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(100,200));
}
end
end;
end;