我用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;
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;
解决方案 »
- dephi7为什么导入了dcloffice2k70.bpl和Microsoft Comm Control6.0还是会报错?
- 请教 声道问题~~~~
- Delphi 自带数据库 database desktop 字段类型与 SQL 中image类型相对应?
- 点击窗口外的任何地方的消息映射???
- 请问在DELPHI 上有没有可以显示字符串的对话框??我想用这个对话框并且想把参数值在其上显示,可以吗? application.MessageBox('确定?
- DBGridEh显示小数位数
- d7+sqlserver2000做登陆窗口问题?(在线等!!!)
- 请教,B/S多层开发问题
- 如何记录ie浏览网页时网页的"执行"过程?
- 我问问题为什么没有人恢复?
- delphi怎么封装组件
- 部署WebService时遇到一个让人蛋疼的问题,有没有前辈会疗此伤???
keybd_event(VK_RETURN, MapVirtualKey(VK_RETURN, 0),0,0);
keybd_event(VK_RETURN, MapVirtualKey(VK_RETURN, 0),KEYEVENTF_KEYUP,0);
这些都试过了就是不行,不知道是不是我调用的主程序一定要先隐藏起来才行还是什么问题,因为这些在我的另一个程序控制PDF阅读器都能正常运行,但就控制不了“下载保存”这种弹出式窗口
谢谢!我也模拟了CTRL+S也不执行,不知为啥?只是能定位到按钮“保存”上,但不执行任何按键
谢谢!我也模拟了CTRL+S也不执行,不知为啥?只是能定位到按钮“保存”上,但不执行任何按键怎么是Ctrl+S呢,是Alt+S啊