日期:2014-05-18  浏览次数:21253 次

我是新手,SendMassage发送组合键,比如Alt+E
用SendMassage发送组合键,比如Alt+E?

------解决方案--------------------
http://www.cnblogs.com/johnsonton/articles/2331430.html
------解决方案--------------------
C# code
// 发和收都定义个自定义消息
const int WM_CUSTOM = 0x0410;

// 发送
SendMessage(接收窗体的句柄, WM_CUSTOM, IntPtr.Zero, IntPtr.Zero);

// 在接收的窗体里重写 WndProc 方法
protected override void WndProc(ref Message m)
{
    switch (m.Msg)
    {
        case WM_CUSTOM:
            // 在这执行原先收到 Alt+E 所要执行的操作
            break;
        default:
            break;
    }
    base.WndProc(ref m);
}

------解决方案--------------------
探讨
[Quote=引用:]
貌似没什么效果,也许是我不理解吧。我用SendMessage能发送字母键。但是ALT键和CTRl键发送不了。用WM_SYSKEYDOWN也没效果
这里有人说得了。但我试了下没得。帮我看看耶。。http://www.cnblogs.com/willen/archive/2008/10/22/1316523.html

------解决方案--------------------
如果真不能发送 那么就一定要用 SendMessage了?
你也可以用RegisterHotKey注册一个全局热键 处理WM_HOTKEY消息啊?