用于键盘模拟鼠标的开发

上面的代码是我作的一个用于键盘模拟鼠标的软件,实现了下面的功能:

1、启动后放在右下角的托盘中,实现实时的监控。(这个很容易,大家自已看看代码就行)。
2、注册全局热键四个,分别为上下左右四个键,实现在任意环境下点击四个键实现鼠标的微调,这里有几个问题和大家说一下:第一个就是如何注册热键,我用的是以前在天极网微软件开发者的一篇文章的代码,贴出来给大家看看:如何处理热键:

protected override void WndProc(ref Message m)
{
    const int WM_HOTKEY = 0x0312;
    switch (m.Msg)
    {
        case WM_HOTKEY:
            MessageBox.Show("Hotkey pressed");
            ProcessHotkey();
            break;
    }
    base.WndProc(ref m);
}

但是我发现一个问题,就是不能同时注册多个热键,如果想注册多个,不是不可以,是注册后不能分辩出哪个是左,哪个是右?想了很长时间,才找到一个办法,是这样的

注册热键时

    NativeWIN32.KeyModifiers modifiers = NativeWIN32.KeyModifiers.None;
    NativeWIN32.RegisterHotKey(Handle, 100, modifiers, Keys.Right);   //注册热键
    NativeWIN32.RegisterHotKey(Handle, 101, modifiers, Keys.Left);   //又注册了一个热键
    NativeWIN32.RegisterHotKey(Handle, 102, modifiers, Keys.Up);   //又注册了一个热键
    NativeWIN32.RegisterHotKey(Handle, 103, modifiers, Keys.Down);   //又注册了一个热键
    taskbarNotifier2.CloseClickable=false;
    taskbarNotifier2.TitleClickable=false;
    taskbarNotifier2.ContentClickable=false;
    taskbarNotifier2.EnableSelectionRectangle=false;
    taskbarNotifier2.KeepVisibleOnMousOver=false;
    taskbarNotifier2.ReShow*onMouseOver*=false;
    taskbarNotifier2.Show("网际浪子简介","浪子是一个计算机的狂热爱好者,欢迎和我联系:qq10402852 email:huanghai@bdfsz.com.cn",500,6000,500);
}

处理消息时

protected override void WndProc(ref Message m)
{
    const int WM_HOTKEY = 0x0312;
    switch (m.Msg)
    {
        case WM_HOTKEY:
            if (m.WParam.ToInt32() == 100) Cursor.Position = new Point(Cursor.Position.X + 1, Cursor.Position.Y);//右移一个 
            if (m.WParam.ToInt32() == 101) Cursor.Position = new Point(Cursor.Position.X - 1, Cursor.Position.Y);//左移一个 
            if (m.WParam.ToInt32() == 102) Cursor.Position = new Point(Cursor.Position.X, Cursor.Position.Y - 1);//上移一个 
            if (m.WParam.ToInt32() == 103) Cursor.Position = new Point(Cursor.Position.X, Cursor.Position.Y + 1);//下移一个 
            break;
    }
    base.WndProc(ref m);
}

哈,一不小心把第三个密秘也告诉大家了,就是如何在没有焦点的情况下移动鼠标。具体的大家看代码吧,希望和你一起进步!

Contributors: FHL