C#模擬鍵盤事件


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 鍵 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM