我通过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仍然按下。
有什么想法吗?非常感谢,