键盘模拟消息呢??
例如我要给系统发送Tab+Alt按键的消息如何发送呢??
请不要告诉我看sendksy.pas因为我没有这个文件的!!!谢谢

解决方案 »

  1.   

    PostMessage(Form1.Handle,WM_KEYDOWN,VK_TAB,0);
      

  2.   

    implementation
    uses shellapi;
    {$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
      keybd_event( VK_MENU, MapVirtualKey( VK_MENU, 0 ), 0 , 0 );//Alt
      keybd_event( VK_TAB, MapVirtualKey( VK_TAB, 0 ), 0 , 0 );
      keybd_event( VK_TAB, MapVirtualKey( VK_DOWN, 0 ), KEYEVENTF_KEYUP , 0 );
      keybd_event( VK_MENU, MapVirtualKey( VK_MENU, 0 ), KEYEVENTF_KEYUP , 0 );//Alt
    end;
      

  3.   


    //  keybd_event( VK_TAB, MapVirtualKey( VK_DOWN, 0 ), KEYEVENTF_KEYUP , 0 );
    -->
      keybd_event( VK_TAB, MapVirtualKey( VK_TAB, 0 ), KEYEVENTF_KEYUP , 0 );
      

  4.   

    首先进行热键注册,需要使用atom对象,进行得到唯一的标志符
    写一个消息处理过程
    procedure wmkey(var msg:tmessage);message wm_hotkey;
    作后别忘了unregist..
              deleteatom...
    呵呵