C#類比鍵盤事件

來源:互聯網
上載者:User

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 退格鍵 
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 鍵 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.