SendKeys in WPF
在以往Windows Form的程式開發當中,當要送出鍵盤的相關資料時,會使用SendKeys的方式來處理,例如說要把一個字加到TextBox上這樣;用SendKeys的好處不用去處理當輸入的游標在文字中間的問題,會比像是 TextBox1.Text &= "1" 這樣的方式來的方便些。而到了WPF,沒有SendKeys可以用了,那麼應該怎麼辦呢?在網路上搜尋了一下,可以利用呼叫API的方式來做,可以參考一下下面 SendInput 的說明,所有需要的東西都在裡面了。動作原理大概是下面過程 紀錄要輸入的控制項在畫面上的位置 使用SendInput模擬滑鼠的動作,點擊要輸入的控制項(主要是要取得Focus) 使用SendInput模擬KeyDown的動作 使用 SendInput模擬KeyUp的動作 大概的過程是這樣子了;而我自己的使用方式有點偷懶,直接略過模擬滑鼠的部分,直接傳控制項的參考過去 XDD 下面是目前的程式碼,還沒詳細測試,大致就是上面列出的SendInput中的程式碼了,參考看看了;首先是宣告的部分 #Region "Const" Const INPUT_MOUSE As UInt32 = 0 Const INPUT_KEYBOARD As Integer = 1 Const INPUT_HARDWARE As Integer = 2 Const KEYEVENTF_EXTENDEDKEY As UInt32 = &H1 Const KEYEVENTF_KEYUP As UInt32 = &H2 ...