当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

KeyMouseHook

C# 按键精灵类库
授权协议 MIT
开发语言 C#
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 国产
投 递 者 鄢朝斑
操作系统 Windows
开源组织
适用人群 未知
 软件概览

简介

这是一个基于globalmousekeyhook 和 InputSimulator 的类似于按键精灵的模拟键盘按键和鼠标点击操作的扩展类库。可以检测并记录键盘和鼠标的活动,你可以录制你的键鼠操作的记录并进行回放,可模拟键盘输入和鼠标点击操作。

环境

  • Windows: .Net Framework 4.0+

安装和源码

nuget install KeyMouseHook

使用

private readonly KeyMouseFactory eventHookFactory = new KeyMouseFactory(HookType.GlobalEvents);
private readonly KeyboardWatcher keyboardWatcher;
private readonly MouseWatcher mouseWatcher;
private List _mouseKeyEvents;

public FormMain()
{
   InitializeComponent();

   keyboardWatcher = eventHookFactory.GetKeyboardWatcher();
   keyboardWatcher.OnKeyboardInput += (s, e) =>
   {
	if (_mouseKeyEvents != null)
	    _mouseKeyEvents.Add(e);
   };

   mouseWatcher = eventHookFactory.GetMouseWatcher();
   mouseWatcher.OnMouseInput += (s, e) =>
   {
	if (_mouseKeyEvents != null)
	    _mouseKeyEvents.Add(e);
   };
}

private void StartWatch(IKeyboardMouseEvents events = null)
{
    _macroEvents = new List();
    keyboardWatcher.Start(events);
    mouseWatcher.Start(events);
}

private void StopWatch()
{
   keyboardWatcher.Stop();
   mouseWatcher.Stop();
}

private void Playback()
{
   var sim = new InputSimulator();
   //var sim = new KeyMouseSimulator();
   sim.PlayBack(_macroEvents);
}

(源码里包含更详细的示例)

界面

c#(winform)模拟键盘按键和鼠标点击操作类库

鸣谢

贡献代码

  • Fork并克隆到本机

  • 创建一个分支并添加你的代码

  • 发送一个Pull Request

License

The MIT license see: LICENSE

  • 1.首先创建一个DLL项目,用以生成自定义的DLL文件,在DLL文件中对外有两个接口,安装钩子的函数SetHook和卸载钩子函数UnSetHook函数,对于    这些函数由于需要导出,所以在工程项目的.h文件中需要声明这些函数需要导出。 //MouseKeyboardHook.h #ifdef MOUSEKEYBOARDHOOK_EXPORTS #define MOUSEKEYBOARDHOOK

 相关资料
  • 快速开发工具类,用最简洁的命令实现想要的功能。辅助模拟开发。 纯Java,跨平台,模拟按键、鼠标点击、找图、找色,实现简单按键精灵的功能 DEMO演示  辅助开发配套工具:ScreenCapture.jar:  将指定文字发音读出: new TTSUtil().speak("这是要读出的文字内容"); 发送一条短信     SendPhoneMsgUtil.send("13011658091", 

  • 问题内容: 目前,每次按键时,精灵仅移动1个像素。按住左右键时,如何使水暖工精灵不断移动? 问题答案: 您可以使用pygame.key.get_pressed来做到这一点。 例:

  • 我创建了一个程序,创建一个正方形并将其绘制在JPanel上。还有控制正方形运动的键绑定(w为上)(s为下)(a为左)(d为右)。我的问题是,当我按下键时,它会移动一个实例,犹豫,然后继续移动。有没有办法防止运动的犹豫。 这是我的面板类。 任何帮助都将不胜感激。非常感谢。

  • 父类:BK.Node 精灵类 成员变量 变量 类型 名称 备注 size Object 大小 anchor Object 锚点 cornerRadius number 圆角 单位为像素 例子: var babaTex =new BK.Texture('GameRes://texture/test.png'); var sp =new BK.Sprite(200,200,babaTex,0,1,1

  • 问题内容: 我一直在尝试找出如何 逐渐 加速按下键时的精灵,然后一旦释放键,就逐渐减速直至停止,就像 小行星上 的飞船一样。如果可能,我想在没有任何游戏引擎的情况下执行此操作。我搜索了所以这个时候,发现相关的问题,但他们并没有回答我的问题 恰好 在我看来。 到目前为止,我想到的是: 我只是不确定如何正确地编程,因为我只能想到以相同的值增加而在持有时不会逐渐加速的方法。 所以这是我的目标( 逐渐加快

  • 我有一个java应用程序,它试图加载外部库,但我总是得到相同的异常。 这与32位JVM试图加载64位本机共享库有关。但是我的java版本是64位 谢谢

  • 我目前正在为我的游戏在菜单屏幕上编程。我正在尝试创建一个矩形来检查是否触摸了Sprite按钮。我使用Abitrary世界坐标 如果你想在这里看到这两个相关的类,我使用的是一个特殊的正交相机。(不是我的项目) 通过测试,我发现矩形坐标系的原点在中心,宽度和高度设置得很高。在这里,您可以看到我通过单击打印出“矩形”的区域的图片。正常情况下,矩形的原点应该在左下方,对吗?

  • Pixi 精灵 现在你就有了一个画布,可以开始往上面放图像了。所有你想在画布上显示的东西必须被加进一个被称作 舞台的Pixi对象中。你能够像这样使用舞台对象: app.stage 这个舞台是一个Pixi 容器对象。你能把它理解成一种将放进去的东西分组并存储的空箱子。 舞台对象是在你的场景中所有可见对象的根容器。所有你放进去的东西都会被渲染到canvas中。现在舞台是空的,但是很快我们就会放进去一点