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 鍵