如何实现Hook拦截一个windows消息,可能是一个键盘消息或鼠标消息。把拦截到的消息封装成一个组合键(alt+f1)再往下传。难点在封装组合键再往下串。

解决方案 »

  1.   

    你可以在main函数里 Application对象上加一个筛选器, 把消息改了就行.
      

  2.   

    不需要替换了,拦截到目标消息后,再直接发送alt+f1
      

  3.   

    static void Main(string[] args)
            {
                Form1 frm1 = new Form1();            IMessageFilter imf = new TreateMessage();            Application.AddMessageFilter(imf); //加载过滤器            Application.Run(frm1);            Application.RemoveMessageFilter(imf);//移除过滤器
            }public class TreateMessage : IMessageFilter
        {
                   public bool PreFilterMessage(ref Message m)
            {
                          //在这儿该m消息的内容
                           return false;
            }
        }
      

  4.   

    C#不知道如何做,不过用Win32 Api可以