none
有没有办没向Process启动的程序发送消息 RRS feed

答案

  • 取得那个进程的主窗口,然后发送SendMessage消息

    int   WM_KEYDOWN   =   0x100;   
                foreach   (   Process   p   in   Process.GetProcesses(System.Environment.MachineName)   )     
                  {   IntPtr   handle   =   p.MainWindowHandle;   
          
                          if(p.StartInfo.FileName=="calc.exe")     
          
                          {     
      SendMessage(handle,WM_KEYDOWN,0,Keys.NumPad1);   
                                    }     
          
        
        
      [DllImport("user32.dll",   CharSet=CharSet.Auto)]   
      public   static   extern   IntPtr   SendMessage(IntPtr   hWnd,   int   uMsg,   int   wParam,   int   lParam);

    努力+方法=成功
    • 已标记为答案 male110 2010年3月4日 8:21
    2010年3月4日 8:10