本帖最后由 barysacc 于 2009-12-18 11:22:34 编辑

解决方案 »

  1.   

    第一个参数是你获取的窗口句柄,就不用解释了吧。第二个参数就是你要发送的消息,比如你要发送快捷组合键,这个参数就是WM_KEYDOWN,这是一个枚举,你可以去查看它本来的定义。第三个参数就是附加信息,在这里就是你的组合键比如VK_ALT+数字(C键的代码)。最后一个参数不使用,总置0.
      

  2.   

    执键设置
    public static bool SetHotKey(Form form, string key)
            {
                int ALT = 0x04;
                int WM_SETHOTKEY = 0x0032;
                int HotKey = ALT * 0x100 + (int)key[0];
                int result = PostMessage(form.Handle, WM_SETHOTKEY, HotKey, 0);
                if (result == 1)
                    return true;
                return false;
            }
      

  3.   

    估计不行,你可以用两种途径,一:发送两个消息,一个是ALT键的WM_KEYDOWN,一个是C键的WM_KEYDOWN。
    二:用api hook,把GetKeyStat,GetKeyboardState,GetAsyncKeyState挂住,返回ALT被按下的假相,这时再发送一个C键的WM_KEYDOWN消息
      

  4.   

    .Net里面枚举Keys的值应该对应的就是消息参数