精华内容
下载资源
问答
  • linux下如何模拟按键输入和模拟鼠标 查看/dev/input/eventX是什么类型的事件 cat /proc/bus/input/devices 设备有着自己特殊的按键键码我需要将一些标准的按键比如09XZ等模拟成标准按键比如KEY_0,KEY-Z等所以需要...
  • 模拟键盘输入

    2011-12-03 16:07:32
    用API实现模拟键盘输入,可以模拟各个按键输出
  • JAVA模拟键盘输入

    2016-10-24 13:47:03
    JAVA模拟键盘输入
  • linux 模拟键盘输入

    热门讨论 2012-03-07 22:02:27
    linux 模拟键盘输入 expect 模拟键盘输入,python 模拟键盘输入
  • C++模拟键盘输入

    2015-05-20 10:02:40
    C++ 模拟键盘输入 用途:本类封装windowsAPI函数SendInput的部分功能,用于模拟键盘输入字符串 用法示例:
  • vb后台模拟键盘输入,利用键盘钩子获取窗口的标题和句柄,再模拟键盘输入发送到该窗口
  • 1.System.Windows.Forms.SendKeys组合键:Ctrl = ^ 、Shift = + 、Alt = %模拟按键:Aprivate void button1_Click(object sender, EventArgs e){textBox1.Focus();SendKeys.Send("{A}");}模拟组合键:CTRL + A...

    1.System.Windows.Forms.SendKeys

    组合键:Ctrl = ^ 、Shift = + 、Alt = %

    模拟按键:A

    private void button1_Click(object sender, EventArgs e)

    {

    textBox1.Focus();

    SendKeys.Send("{A}");

    }

    模拟组合键:CTRL + A

    private void button1_Click(object sender, EventArgs e)

    {

    webBrowser1.Focus();

    SendKeys.Send("^{A}");

    }

    SendKeys.Send // 异步模拟按键(不阻塞UI)

    SendKeys.SendWait // 同步模拟按键(会阻塞UI直到对方处理完消息后返回)

    //这种方式适用于WinForm程序,在Console程序以及WPF程序中不适用

    2.keybd_event

    DLL引用

    [DllImport("user32.dll", EntryPoint = "keybd_event", SetLastError = true)]

    public static extern void keybd_event(Keys bVk, byte bScan, uint dwFlags, uint dwExtraInfo);

    模拟按键:A

    private void button1_Click(object sender, EventArgs e)

    {

    textBox1.Focus();

    keybd_event(Keys.A, 0, 0, 0);

    }

    模拟组合键:CTRL + A

    public const int KEYEVENTF_KEYUP = 2;

    private void button1_Click(object sender, EventArgs e)

    {

    webBrowser1.Focus();

    keybd_event(Keys.ControlKey, 0, 0, 0);

    keybd_event(Keys.A, 0, 0, 0);

    keybd_event(Keys.ControlKey, 0, KEYEVENTF_KEYUP, 0);

    }

    3.PostMessage

    上面两种方式都是全局范围呢,现在介绍如何对单个窗口进行模拟按键

    模拟按键:A / 两次

    [DllImport("user32.dll", EntryPoint = "PostMessageA", SetLastError = true)]

    public static extern int PostMessage(IntPtr hWnd, int Msg, Keys wParam, int lParam);

    public const int WM_CHAR = 256;

    private void button1_Click(object sender, EventArgs e)

    {

    textBox1.Focus();

    PostMessage(textBox1.Handle, 256, Keys.A, 2);

    }

    模拟组合键:CTRL + A

    如下方式可能会失效,所以最好采用上述两种方式1

    public const int WM_KEYDOWN = 256;

    public const int WM_KEYUP = 257;

    private void button1_Click(object sender, EventArgs e)

    {

    webBrowser1.Focus();

    keybd_event(Keys.ControlKey, 0, 0, 0);

    keybd_event(Keys.A, 0, 0, 0);

    PostMessage(webBrowser1.Handle, WM_KEYDOWN, Keys.A, 0);

    keybd_event(Keys.ControlKey, 0, KEYEVENTF_KEYUP, 0);

    }

    展开全文
  • C#如何模拟键盘输入

    2007-06-20 23:05:07
    如何模拟键盘输入 如何模拟键盘输入
  • C# 如何模拟键盘输入

    2009-07-02 23:14:58
    样例程序:C#中如何模拟键盘输入,C#中如何模拟键盘输入
  • 本篇文章主要介绍了C# winform 模拟键盘输入自动接入访问网络,有兴趣的可以了解一下。
  • 1. 模拟键盘输入 adb shell input keyboard text "abc" 2. 模拟点击屏幕指定位置 adb shell input tap 500 500 3. 模拟滑动 从(500,800)滑动到(500,300) adb shell input swipe 500 800 500 300 4. 模拟Home按键 ...

    1. 模拟键盘输入

    adb shell input keyboard text "abc" 
    

    2. 模拟点击屏幕指定位置

    adb shell input tap 500 500
    

    3. 模拟滑动

    从(500,800)滑动到(500,300)
    adb shell input swipe 500 800 500 300

    4. 模拟Home按键

    adb shell input keyevent 3
    

    附录

    • 安卓按键code值
    KEYCODE_UNKNOWN=0;
    KEYCODE_SOFT_LEFT=1;
    KEYCODE_SOFT_RIGHT=2;
    KEYCODE_HOME=3;     //home键
    KEYCODE_BACK=4;     //back键
    KEYCODE_CALL=5;
    KEYCODE_ENDCALL=6;
    KEYCODE_0=7;
    KEYCODE_1=8;
    KEYCODE_2=9;
    KEYCODE_3=10;
    KEYCODE_4=11;
    KEYCODE_5=12;
    KEYCODE_6=13;
    KEYCODE_7=14;
    KEYCODE_8=15;
    KEYCODE_9=16;
    KEYCODE_STAR=17;
    KEYCODE_POUND=18;
    KEYCODE_DPAD_UP=19;
    KEYCODE_DPAD_DOWN=20;
    KEYCODE_DPAD_LEFT=21;
    KEYCODE_DPAD_RIGHT=22;
    KEYCODE_DPAD_CENTER=23;
    KEYCODE_VOLUME_UP=24;
    KEYCODE_VOLUME_DOWN=25;
    KEYCODE_POWER=26;
    KEYCODE_CAMERA=27;
    KEYCODE_CLEAR=28;
    KEYCODE_A=29;
    KEYCODE_B=30;
    KEYCODE_C=31;
    KEYCODE_D=32;
    KEYCODE_E=33;
    KEYCODE_F=34;
    KEYCODE_G=35;
    KEYCODE_H=36;
    KEYCODE_I=37;
    KEYCODE_J=38;
    KEYCODE_K=39;
    KEYCODE_L=40;
    KEYCODE_M=41;
    KEYCODE_N=42;
    KEYCODE_O=43;
    KEYCODE_P=44;
    KEYCODE_Q=45;
    KEYCODE_R=46;
    KEYCODE_S=47;
    KEYCODE_T=48;
    KEYCODE_U=49;
    KEYCODE_V=50;
    KEYCODE_W=51;
    KEYCODE_X=52;
    KEYCODE_Y=53;
    KEYCODE_Z=54;
    KEYCODE_COMMA=55;
    KEYCODE_PERIOD=56;
    KEYCODE_ALT_LEFT=57;
    KEYCODE_ALT_RIGHT=58;
    KEYCODE_SHIFT_LEFT=59;
    KEYCODE_SHIFT_RIGHT=60;
    KEYCODE_TAB=61;
    KEYCODE_SPACE=62;
    KEYCODE_SYM=63;
    KEYCODE_EXPLORER=64;
    KEYCODE_ENVELOPE=65;
    KEYCODE_ENTER=66;
    KEYCODE_DEL=67;
    KEYCODE_GRAVE=68;
    KEYCODE_MINUS=69;
    KEYCODE_EQUALS=70;
    KEYCODE_LEFT_BRACKET=71;
    KEYCODE_RIGHT_BRACKET=72;
    KEYCODE_BACKSLASH=73;
    KEYCODE_SEMICOLON=74;
    KEYCODE_APOSTROPHE=75;
    KEYCODE_SLASH=76;
    KEYCODE_AT=77;
    KEYCODE_NUM=78;
    KEYCODE_HEADSETHOOK=79;
    KEYCODE_FOCUS=80;//*Camera*focus
    KEYCODE_PLUS=81;
    KEYCODE_MENU=82;
    KEYCODE_NOTIFICATION=83;
    KEYCODE_SEARCH=84;
    KEYCODE_MEDIA_PLAY_PAUSE=85;
    KEYCODE_MEDIA_STOP=86;
    KEYCODE_MEDIA_NEXT=87;
    KEYCODE_MEDIA_PREVIOUS=88;
    KEYCODE_MEDIA_REWIND=89;
    KEYCODE_MEDIA_FAST_FORWARD=90;
    KEYCODE_MUTE=91;
    
    展开全文
  • 模拟按键

    千次阅读 2005-08-17 23:28:00
    模拟键盘我们用Keybd_event这个api函数,模拟鼠标按键用mouse_event函数。在VC里调用api函数是既简单又方便...当然也可以用产生这两个消息来模拟按键,但是没有直接用这个函数方便。Keybd_event共有四个参数,第一个为

    模拟键盘我们用Keybd_event这个api函数,模拟鼠标按键用mouse_event函数。在VC里调用api函数是既简单又方便不过的事了。
      首先介绍一下Keybd_event函数。Keybd_event能触发一个按键事件,也就是说回产生一个WM_KEYDOWN或WM_KEYUP消息。当然也可以用产生这两个消息来模拟按键,但是没有直接用这个函数方便。Keybd_event共有四个参数,第一个为按键的虚拟键值,如回车键为vk_return, tab键为vk_tab。第二个参数为扫描码,一般不用设置,用0代替就行第三个参数为选项标志,如果为keydown则置0即可,如果为keyup则设成“KEYEVENTF_KEYUP”,第四个参数一般也是置0即可。用如下代码即可实现模拟按下键,其中的XX表示XX键的虚拟键值,在这里也就是各键对应的键码,如’A’=65 
    keybd_event(65,0,0,0); 
    keybd_event(65,0,KEYEVENTF_KEYUP,0); ...

    展开全文
  • 模拟按键

    2015-09-16 11:46:09
    第2种方法是使用WINIO.SYS驱动,硬件模拟按键动作(此驱动只支持8042端口,即只能模拟PS2键盘鼠标动作)。   2、鉴于上面原因,NP不再封系统API,而是封按键模拟相关的内核API。移植系统API来模拟按键就不能实现...
    
    

    An application can simulate a press of the PRINTSCREEN key in order to obtain a screen snapshot and save it to the clipboard. To do this, call keybd_event with the bVk parameter set to VK_SNAPSHOT, and the bScan parameter set to 0 for a snapshot of the full screen or set bScan to 1 for a snapshot of the active window.

    procedure TForm1.Button1Click(Sender: TObject);
    begin

      // PrintScreen
      keybd_event(VK_SNAPSHOT, 0, 0, 0);
    end;

     

    1、系统API函数,按键模拟类的API函数有KeyBoard_Event(键盘模拟)、Mouse_Event(鼠标模拟)、SetCursor(模拟鼠标移动)、SendInput() 、SendMessage(发送消息)PutMessage(发送消息)。这种封API函数的方法在NP早期被应用,主要手段是通过钩子函数修改API的CALL地址。但这种手段很快被人破解,破解方法有2种,1种方法是移植这些API函数的代码(具体移植方法请见相关的专业资料)我曾用这方法,把整个kernel32.dll系统库文件更名复制,然后调用该库的API,从而绕过NP;

    第2种方法是使用WINIO.SYS驱动,硬件模拟按键动作(此驱动只支持8042端口,即只能模拟PS2键盘鼠标动作)。 
    2、鉴于上面原因,NP不再封系统API,而是封按键模拟相关的内核API。移植系统API来模拟按键就不能实现了,因为移植的系统API最终要调用内核API。这样留给我们的工作只能是通过驱动硬件来模拟按键动作了。
    3、网上流行的硬件模拟是通过对8042端口驱动来实现的,这种操作端口来实现硬件模拟的方法必须要在系统RING0层才能进行。所以,这类操作都必须通过驱动或中断程序来实现。目前网络上流行的端口操作驱动程序有2种:WINIO.SYS及PortTalk.SYS,WINIO.SYS操作端口效率较高。
    它们的主要缺陷是只能模拟PS2的键盘、鼠标,当键盘或鼠标是USB的,或者频繁模拟鼠标时就会出现卡死现象。但这类操作端口的模拟也没长久,NP也把这类模拟给封了。封的办法很简单,这2个驱动特征太明显了:WINIO把端口操作从RING0层暴露给RING3层,这样的暴露给系统安全
    带来隐患,所以有的杀毒软件会对WINIO进行查杀!NP封这种具有典型特征驱动程序易如反掌;PortTalk是用户级驱动程序,可以通过调用DeviceIoControl函数来操作端口,但正因是用户级驱动,其发出IRP在下传时容易被NP截获屏蔽。

     

    这样NP给我们剩下的操作空间就不多了:

    1、改写或移植内核API,这种方法因系统及版本不同实现起来相当困难,极容易造成机器死机。2、虚拟一个设备,通过该设备驱动程序来操作端口,最好是将其设备虚拟成键盘和鼠标设备。这种方法可行,因为NP难以实现封设备驱动(封错了机器就死机了)。但这方法也有缺陷,驱动程序需要安装,安装弹出微软的认证签名窗口(未经签名存在安全问题),这对许多用户来说是难以接受的。

    展开全文
  • Python实现模拟按键和改键精灵

    万次阅读 2019-12-09 10:36:34
    Python实现模拟按键和改键精灵,用以控制拳皇97,亲测有效. VK_CODE:虚拟键码 参考: https://www.cnblogs.com/Evan-fanfan/p/11097519.html https://blog.csdn.net/wang8978/article/details/52900048 ...
  • 类似QQ的js 模拟键盘输入,喜欢的可以看看!
  • 使用C#模拟键盘输入

    2020-02-15 09:29:23
    今天就介绍一个如何利用C#实现编程法模拟键盘输入 今天我们使用的是System.Windows.Forms.dll中的SendKeys这个类 这是一个静态类,主要有两个方法Send表示发送后立刻返回,SendWait表示发送后等待其他应用程序处理 ...
  • SendKeys实例(模拟键盘输入)

    热门讨论 2012-02-29 19:50:06
    SendKeys实例(模拟键盘输入)
  • winio模拟按键模块.rar

    2020-04-05 18:50:49
    winio模拟按键模块.rar winio模拟按键模块.rar winio模拟按键模块.rar winio模拟按键模块.rar winio模拟按键模块.rar winio模拟按键模块.rar
  • 完整版模拟按键.rar

    2020-04-02 22:24:37
    完整版模拟按键.rar 完整版模拟按键.rar 完整版模拟按键.rar 完整版模拟按键.rar 完整版模拟按键.rar 完整版模拟按键.rar
  • 易语言驱动模拟按键

    2018-07-28 11:55:52
    易语言驱动模拟按键
  • 易语言模块模拟按键.rar 易语言模块模拟按键.rar 易语言模块模拟按键.rar 易语言模块模拟按键.rar 易语言模块模拟按键.rar 易语言模块模拟按键.rar
  • 定时闹钟: 可以监测U盘插拔,并显示带超链接文本信息。 简单的全局热键和模拟键盘输入
  • C#模拟键盘输入,C#.net中怎么样模拟键盘输入 主要用到的类SendKeys.并通过其方法Send()向当前活动的应用程序发送单击动作行为。 MSDN中对SendKeys.Send 方法的说明: [C#]public static void Send( string ...
  • 模拟按键,易语言写外挂,辅助类等不可缺少

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 103,659
精华内容 41,463
关键字:

模拟按键