摘自《31天學會crm專案開發
使用c#呼叫windows api使程式模擬鍵盤輸入,也可模擬按下快捷鍵。本例中,單擊「模擬輸入」按鈕,可錄入字元「abcde123456」,單擊「ctrl+v」按鈕可實現貼上功能,效果如圖16-2所示。
主要開發步驟如下:
(1) 引用windows api函式keybd_event(),通過它可模擬鍵盤錄入。
**片段16-12
[dllimport("user32.dll")]
private static extern void keybd_event(
byte bvk, byte bscan, uint dwflags, int dwextrainfo);
(2) 定義字典keycodedic,用於儲存常用虛擬鍵碼,比如點、橫槓、方向鍵等。
**片段16-13
dictionarykeycodedic;
keycodedic = new dictionary();
keycodedic.add("a", 0x41);
keycodedic.add("b", 0x42);
……keycodedic.add(".", 110);
keycodedic.add("left", 0x25);
keycodedic.add("up", 0x26);
keycodedic.add("right", 0x27);
keycodedic.add("down", 40);
keycodedic.add("-", 0x6d);
(3) 片段16-14演示了模擬鍵盤錄入字母和數字的過程,所錄入的字元必須先在keycodedic中定義。模擬鍵盤錄入時不能連續不間斷的錄入,如果兩次錄入的時間過短且內容一致可能會導致後一次錄入無效,如行6所示。
**片段16-14
public static bool input(string str)
return false;
}
(4) 片段16-15演示了傳送組合鍵ctrl+v的方法,0x11表示ctrl鍵,0x56表示v鍵,keyeventf_keyup是乙個常量,它的值是0x0002,行4表示按下v鍵,行5-6表示鬆開v鍵。
**片段16-15
public static void ctrlv ()
(5) 片段16-16演示了模擬回車鍵方法,行3表示按下回車鍵,行4表示中斷50毫秒,行5表示釋放回車鍵,行3-5的作用在於模擬「人工」按下回車鍵,按下和釋放必須有一段時間,否則按鍵太快會被系統忽略。
**片段16-16
public static void enter()
WPF 模擬UI 鍵盤錄入
開發winform 應用程式時可以利用sendkeys 類方便的模擬鍵盤錄入操作。那麼在wpf 中如何為控制項實現鍵盤模擬呢?本篇將使用wpf sendkeys 實現和winform 中相同的效果。首先將wpfsendkeys.dll 加入到專案references 中,在xaml 中加入兩個tex...
C 模擬鍵盤事件
c 模擬鍵盤事件 public partial class form1 form dllimport user32.dll public static extern intptr findwindow string lpclassname,string lpwindowname 匯入尋找window...
VB之SendKeys鍵盤模擬
vb sendkeys語句詳解 大家在vb6中都用過sendkeys,幕通過傳送鍵盤的事件間接地控制外部程式,是有遙控之說。我在vb7中卻發現這個不能用了,也就不了了之,後來一次在查閱msdn的時候竟看到了這個,是以嘗試了一下,竟然舊貌新顏,還是一樣好用。主要是在system.winforms族中找...