如何用PostMessage发送组合键如ctrl+m
如何用PostMessage发送*和#键

解决方案 »

  1.   

    virtual keyboard is best choose.
      

  2.   

    晕刚才不是给你了吗
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      edit1.SetFocus;
      keybd_event(VK_SHIFT, MapVirtualKey(VK_SHIFT, 0), 0, 0);
      keybd_event($33, MapVirtualKey($33, 0), 0, 0);
      keybd_event($33, MapVirtualKey($33, 0), KEYEVENTF_KEYUP, 0);
      keybd_event(VK_SHIFT, MapVirtualKey(VK_SHIFT, 0), KEYEVENTF_KEYUP,0);
    end;发送#的,把$33改成$38就是*的不要用WM_SETTEXT
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      edit1.SetFocus;
      keybd_event(VK_control, MapVirtualKey(VK_control, 0), 0, 0);
      keybd_event($53, MapVirtualKey($53, 0), 0, 0);
      keybd_event($53, MapVirtualKey($53, 0), KEYEVENTF_KEYUP, 0);
      keybd_event(VK_control, MapVirtualKey(VK_control, 0), KEYEVENTF_KEYUP,0);
    end;ctrl+m的。