C#,SendKeys到另一个前台应用程序,忽略应用程序键盘

时间:2013-12-10 12:59:09

标签: c#

我通过Process p = Process.Start()在C#中启动了一些应用程序,我安装了一个这样的全局密钥钩:

id = GlobalAddAtom("My Brilliant Appplication");
RegisterHotKey(this.Handle, id, (int)MOD_SHIFT, (int)Keys.K);

        protected override void WndProc(ref Message m)
        {
            if (m.Msg == WM_HOTKEY)
            {
                //MessageBox.Show("You pressed the Windows Key and the K Key!");

                IntPtr h = IntPtr.Zero;
                h = GetForegroundWindow();
                //ShowWindowAsync(h, SW_SHOWMINIMIZED); // minimize

                SendKeys.SendWait("dir");
            }

            base.WndProc(ref m);
        }

问题是接收应用程序本身也会收到我的KEY组合。

我尝试给前景“putty”提供一些自动命令,KEY组合(用于测试)SHIFT + K.它正在工作,但我的“腻子”收到“DIR”而不是原来的“dir”,因为SHIFT仍然按下。

有什么想法吗?非常感谢,

0 个答案:

没有答案