当前位置:编程学习 > C#/ASP.NET >>

关于模拟键盘

想弄一个类似按键精灵的东西用于游戏,
用postmessage来实现简单的按键,
当窗口是非活动窗口时候是可以实现
模拟,但当窗口最大化,我再打开我写的
程序,就没有反应,其实我是想可以在
非活动的时候实现模拟键盘,也好可以干其他的,
但是也想前台的时候好用。求解

主要代码就是这个
    
PostMessage(maindHwnd, 0x0100, '1', 0);
Thread.Sleep(100);
PostMessage(maindHwnd, 0x0101, '1', 0);
--------------------编程问答-------------------- 可以尝试使用api:SendMessage
参数分别是SendMessage(句柄,命令,键码,0)
命令:
 WM_KEYDOWN 键盘按下
 WM_KEYUP 按键弹起
例子:
  SendMessage(MyPtr, WM_KEYDOWN, VK_SPACE, 0);
  SendMessage(MyPtr, WM_KEYUP, VK_SPACE, 0); 

参考声明:
        const int WM_KEYDOWN = 0x0100;
        const int WM_KEYUP = 0x0101;
  [DllImport("user32.dll")]
        public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); --------------------编程问答--------------------
引用 1 楼 wawd74520 的回复:
可以尝试使用api:SendMessage
参数分别是SendMessage(句柄,命令,键码,0)
命令:
 WM_KEYDOWN 键盘按下
 WM_KEYUP 按键弹起
例子:
  SendMessage(MyPtr, WM_KEYDOWN, VK_SPACE, 0);
  SendMessage(MyPtr, WM_KEYUP, VK_SPACE, 0……


以后调用api,记得像1L一样把常数标出来,0101 0100,天知道是什么。 --------------------编程问答-------------------- 可以参考一下这个 http://blog.csdn.net/bbwfang/article/details/8173749
驱动级模拟键盘输入 --------------------编程问答--------------------
引用 2 楼 caozhy 的回复:
引用 1 楼 wawd74520 的回复:
可以尝试使用api:SendMessage
参数分别是SendMessage(句柄,命令,键码,0)
命令:
 WM_KEYDOWN 键盘按下
 WM_KEYUP 按键弹起
例子:
  SendMessage(MyPtr, WM_KEYDOWN, VK_SPACE, 0);
  SendMessage(MyPtr, WM_KEYUP, V……

我觉得你看懂了 --------------------编程问答-------------------- SendMessage或keydb_event都行 --------------------编程问答-------------------- 调用Autoit的dll吧,目前没有发现在键盘输入方面比这个好用的
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,