您当前的位置:delphi教程 > Delphi笔记 >  进程间通信(向"计算器"发送消息)

进程间通信(向"计算器"发送消息)

//在WinXP下测试通过
//首先运行calc.exe
//修改"计算器"的CE按钮,使其Visible为False或者Enabled为False
procedure TForm1.Button4Click(Sender: TObject);
Var
  hwnd_Calc, hwnd_btn_CE : HWND;
begin
  hwnd_Calc := FindWindow(nil, '计算器');
  if hwnd_Calc<> 0 then
  begin
    hwnd_btn_CE := FindWindowEx(hwnd_Calc, 0, 'Button', 'CE');
    ShowWindow (hwnd_btn_CE, SW_HIDE) ;    // Visible := False; 
    //EnableWindow (hwnd_btn_CE, FALSE) ;  // Enabled := False; 
  end;
end;

//向"计算器"发送 ALT+E
procedure TForm1.Button7Click(Sender: TObject);
Var
  hwnd_Calc, hwnd_btn_CE : HWND;
begin
  hwnd_Calc := FindWindow(nil, '计算器');
  if hwnd_Calc<> 0 then
  begin
    setforegroundwindow(hwnd_Calc);
    keybd_event(VK_MENU, MapVirtualKey(VK_MENU, 0), 0, 0);
    keybd_event(ord('E'), MapVirtualKey(ord('E'), 0), 0, 0);
    keybd_event(ord('E'), MapVirtualKey(ord('E'), 0), KEYEVENTF_KEYUP, 0);
    keybd_event(VK_MENU, MapVirtualKey(VK_MENU, 0), KEYEVENTF_KEYUP, 0);
  end;
end; 



查看回复
关于我们 | 网站地图 | 广告刊登 | 友情链接
Copyright ©2008 - 2010  Delphi2007.net  ,All Rights Reserved  粤ICP备09038647号
业务联系:allceoad#gmail.com QQ:20008835 最佳分辨率 1024×768