如何使用sengmessage发送WM_COMMAND消息,是另一个程序的按钮的Click事件触发?
另外,FindWindow和FindWindowEx怎么用?
请给出具体代码,谢谢:)

解决方案 »

  1.   

    SendMessage(form1.handle,wm_command,0,0)
    除法按钮你可以用Button1.onclick(Nil)or Button1.onClick(Sender)如果有sender的话
    FindWindow是WINDOWS API,Delphi 的Windows SDK help里面有很详细的帮助啊
      

  2.   

    var 
     H1,H2:THandle;
    begin
      H1:=FindWindow('TForm1','Form1');
      H2:=Findwindowex(H1,0,'TButton','Button2');
      SendMessage(H2,bm_click,0,0);
    end;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);var
     H1,H2:THandle;
    begin
      H1:=FindWindow('TForm1','Form1');
      H2:=Findwindowex(H1,0,'TButton','Button2');
      SendMessage(H2,bm_click,0,0);
    end;
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    showmessage('asdfsf');
    end;
      

  4.   

    FindWindow 寻找窗体
    FindWindowEx  寻找某个窗体下的子窗体!!查看 API 手册对按键发  CLICK 事件??
    对它发鼠标消息:        PostMessage(TWnd,WM_LBUTTONDOWN, 0, MAKEWPARAM(184,17));
            PostMessage(TWnd,WM_LBUTTONUP, 0, MAKEWPARAM(184,17));TWnd 是按键的句柄,
     184,17 是按键非精确坐标
      

  5.   

    FindWindow 寻找窗体
    FindWindowEx  寻找某个窗体下的子窗体!!查看 API 手册对按键发  CLICK 事件??
    对它发鼠标消息:        PostMessage(TWnd,WM_LBUTTONDOWN, 0, MAKEWPARAM(184,17));
            PostMessage(TWnd,WM_LBUTTONUP, 0, MAKEWPARAM(184,17));TWnd 是按键的句柄,
     184,17 是按键非精确坐标
      

  6.   

    哦 theone_jxm() 说得不错
      

  7.   


    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
      h_wnd:HWND;
      h_btn:HWND;
      buf:array[0..255] of char;
    begin  h_wnd:=findwindow(nil,'另一个程序窗口标题');
      h_btn:=getwindow(h_wnd,GW_CHILD);
      while h_btn <> 0 do
      begin
        getwindowtext(h_btn,buf,255);
        if pos('按钮名称',buf) > 0 then
          break;
        h_btn:=getwindow(h_btn,GW_HWNDNEXT);
      end;
      sendmessage(h_btn,WM_LBUTTONDOWN,1,1);
      sendmessage(h_btn,WM_LBUTTONUP,1,1);
    end;