zoukankan      html  css  js  c++  java
  • C#模拟键盘事件

    C#模拟键盘事件

    转自:http://www.cnblogs.com/tianguook/archive/2010/07/06/1772438.html

    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            [DllImport("USER32.DLL")]
            public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);  //导入寻找windows窗体的方法
            [DllImport("USER32.DLL")]
            public static extern bool SetForegroundWindow(IntPtr hWnd);  //导入为windows窗体设置焦点的方法
            [DllImport("USER32.DLL")]
            public static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);  //导入模拟键盘的方法


            private void button1_Click(object sender, EventArgs e)
            {
                IntPtr calculatorHandle = FindWindow(null, "aaa.txt - 记事本");
                //判断是否找到了该窗体
                if (calculatorHandle == IntPtr.Zero)
                {
                    MessageBox.Show("Calculator is not running.");
                    return;
                }
                Clipboard.SetText("第三方");

                SetForegroundWindow(calculatorHandle);         
                keybd_event(0x11, 0, 0, 0);
                keybd_event(86, 0, 0, 0);
                keybd_event(0x11, 0, 2, 0);
                keybd_event(86, 0, 2, 0);
            }
        }

    keybd_event方法的第一个参数值有:(例如:keybd_event(0x11, 0, 0, 0)是CTRL 键 按下  keybd_event(0x11, 0, 2, 0)是CTRL 键 松开)

    vbKeyLButton 0x1 鼠标左键 
    vbKeyRButton 0x2 鼠标右键 
    vbKeyCancel 0x3 CANCEL 键 
    vbKeyMButton 0x4 鼠标中键 
    vbKeyBack 0x8 BACKSPACE 键 
    vbKeyTab 0x9 TAB 键 
    vbKeyClear 0xC CLEAR 键 
    vbKeyReturn 0xD ENTER 键 
    vbKeyShift 0x10 SHIFT 键 
    vbKeyControl 0x11 CTRL 键 
    vbKeyMenu 0x12 MENU 键  
    vbKeyPause 0x13 PAUSE 键 
    vbKeyCapital 0x14 CAPS LOCK 键 
    vbKeyEscape 0x1B ESC 键 
    vbKeySpace 0x20 SPACEBAR 键 
    vbKeyPageUp 0x21 PAGE UP 键 
    vbKeyEnd 0x23 END 键 
    vbKeyHome 0x24 HOME 键 
    vbKeyLeft 0x25 LEFT ARROW 键 
    vbKeyUp 0x26 UP ARROW 键 
    vbKeyRight 0x27 RIGHT ARROW 键 
    vbKeyDown 0x28 DOWN ARROW 键 
    vbKeySelect 0x29 Select 键 
    vbKeyPrint 0x2A PRINT SCREEN 键 
    vbKeyExecute 0x2B EXECUTE 键 
    vbKeySnapshot 0x2C SNAPSHOT 键 
    vbKeyDelete 0x2E Delete 键 
    vbKeyHelp 0x2F HELP 键 
    vbKeyNumlock 0x90 NUM LOCK 键 
      
    vbKeyA 65 A 键 
    vbKeyB 66 B 键 
    vbKeyC 67 C 键 
    vbKeyD 68 D 键 
    vbKeyE 69 E 键 
    vbKeyF 70 F 键 
    vbKeyG 71 G 键 
    vbKeyH 72 H 键 
    vbKeyI 73 I 键 
    vbKeyJ 74 J 键 
    vbKeyK 75 K 键 
    vbKeyL 76 L 键 
    vbKeyM 77 M 键 
    vbKeyN 78 N 键 
    vbKeyO 79 O 键 
    vbKeyP 80 P 键 
    vbKeyQ 81 Q 键 
    vbKeyR 82 R 键 
    vbKeyS 83 S 键 
    vbKeyT 84 T 键 
    vbKeyU 85 U 键 
    vbKeyV 86 V 键 
    vbKeyW 87 W 键 
    vbKeyX 88 X 键 
    vbKeyY 89 Y 键 
    vbKeyZ 90 Z 键 
      
    vbKey0 48 0 键 
    vbKey1 49 1 键 
    vbKey2 50 2 键 
    vbKey3 51 3 键 
    vbKey4 52 4 键 
    vbKey5 53 5 键 
    vbKey6 54 6 键 
    vbKey7 55 7 键 
    vbKey8 56 8 键 
    vbKey9 57 9 键 
      
    vbKeyNumpad0 0x60 0 键 
    vbKeyNumpad1 0x61 1 键 
    vbKeyNumpad2 0x62 2 键 
    vbKeyNumpad3 0x63 3 键 
    vbKeyNumpad4 0x64 4 键 
    vbKeyNumpad5 0x65 5 键 
    vbKeyNumpad6 0x66 6 键 
    vbKeyNumpad7 0x67 7 键 
    vbKeyNumpad8 0x68 8 键 
    vbKeyNumpad9 0x69 9 键 
    vbKeyMultiply 0x6A MULTIPLICATIONSIGN(*)键 
    vbKeyAdd 0x6B PLUS SIGN (+) 键 
    vbKeySeparator 0x6C ENTER 键  
    vbKeySubtract 0x6D MINUS SIGN (-) 键 
    vbKeyDecimal 0x6E DECIMAL POINT (.) 键 
    vbKeyDivide 0x6F DIVISION SIGN (/) 键 
      
    vbKeyF1 0x70 F1 键 
    vbKeyF2 0x71 F2 键 
    vbKeyF3 0x72 F3 键 
    vbKeyF4 0x73 F4 键 
    vbKeyF5 0x74 F5 键 
    vbKeyF6 0x75 F6 键 
    vbKeyF7 0x76 F7 键 
    vbKeyF8 0x77 F8 键 
    vbKeyF9 0x78 F9 键 
    vbKeyF10 0x79 F10 键 
    vbKeyF11 0x7A F11 键 
    vbKeyF12 0x7B F12 键 

  • 相关阅读:
    element ui 时间控件 多个日期
    java 获取两个日期之间的所有日期(年月日)
    java 正则表达式(内附例子)
    Notepad++怎么使用正则替换
    基于 vue+element ui 的cdn网站(多页面,都是各种demo)
    使用github搭建个人html网站
    PL/SQL Developer 如何记住密码
    PL/SQL Developer图形化窗口创建数据库(表空间和用户)以及相关查询sql
    安装pl/sql developer(内附下载地址)
    vue中操作cookie的插件
  • 原文地址:https://www.cnblogs.com/vonly/p/4875983.html
Copyright © 2011-2022 走看看