請教各位前輩~~雖然我在使用Shell跟senkeys的相關語法都有蒐集過一定的資料與做過一些相關練習,但是在最後我要練習試作模擬使用者按鍵盤之時卻不知道該如何下手senkey給桌面或是[開始]的按鈕,而我在來這邊使用全文檢索之前也在Google找不太到有關於相關的資料~~使否有哪位高手來指點小弟一二,感激不盡~~
請善用google全文搜尋,關鍵字 MENU_KEYCODE 搜尋結果沒有很多,而且要知道MENU_KEYCODE這個常數才找得到,所以直接給網址 http://www.activevb.de/tipps/vb6tipps/tipp0248.html
謝謝全文檢索前輩的對於啟動[開始]按鈕指導~~ 看來我該多練習看依些國外的資料了~~ 不過我還有一個疑問就是那對於桌面下時我該怎麼sendkeys給桌面來實作 就像是使用者是用鍵盤按下 Alt+Tab 按鍵來作切換程式視窗的動作呢?? 假如是使用keybd_event的API與設定MENU_KEYCODE的方式似乎一次只能送 出一個按鍵碼而已,納該如何是送出桌面下的組合鍵呢?? 希望站上高手再指點小第一二,感激不盡~~
sorry~~小弟再補充一點就是除了 1.實作使用者是用鍵盤按下 Alt+Tab 按鍵來作切換程式視窗的動作之外, 2.是否也能實作像是在桌面下按下 Alt+Tab 按鍵之後 一邊是Alt的按鍵是持續按著不放, 而Tab鍵在Alt的按鍵是持續按著不放一小段時間(如1秒)時便被按下 而達到實作使用者用鍵盤按下Alt+Tab組合鍵來作切換程式視窗的動作呢?? 希望站上高手能再指點小弟一二,感激不盡~~
在經過前輩的國外網站提醒之後問體已經改善~~謝謝前輩指點~~:)
所以你的alt+tab問題已經解決,是嗎?
是的~~我已經自己試出來了~~謝謝前輩的關心~~:)
這是我找到的資料,提供各位參考 http://groups.google.com.tw/groups?q=%22keybd_event+VK_MENU%22+%22keybd_event+VK_TAB%22+%22end+sub%22&hl=zh-TW&lr=&ie=UTF-8&oe=UTF-8&selm=397da158%40news&rnum=3
恩恩~~謝謝尋找夏天的甲蟲前輩的指導,小弟也將納一晚在網路上找到的資料 與自己試出來的內容po出來~~以期能有拋磚引玉之效~~希望大家也能依同分享~ '=================================================================== Option Explicit Private Declare Sub keybd_event Lib "user32" (ByVal bVk As _ Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal _ dwExtraInfo As Long) 'bvk 型式為Byte,為欲模擬的虛擬鍵碼 'bScan 型式為Byte,為鍵的OEM掃描碼 'dwFlags型式為Long或零﹔或設為下述兩個標誌之一 ' 1.KEYEVENTF_EXTENDEDKEY 指出是一個擴展鍵﹐ ' 而且在前面冠以0xE0代碼 ' 2.KEYEVENTF_KEYUP 模擬鬆開一個鍵 ' dwExtraInfo型式為Long,通常不用的一個值。 ' api函數GetMessageExtraInfo可取得這個值。 ' 允許使用的值取決於特定的驅動程式 '--附註-- '這個函數支援螢幕擷取(截圖)。在win95和nt4.0下這個函數的行為不同 Private Const MENU_KEYCODE_TAB = 9 Private Const MENU_KEYCODE_ALT = 18 Private Sub Command1_Click() Call keybd_event(MENU_KEYCODE_ALT, 0, 0, 0) Do Call keybd_event(MENU_KEYCODE_TAB, 0, 0, 0) Call keybd_event(MENU_KEYCODE_TAB, 0, KEYEVENTF_KEYUP, 0) DoEvents Loop End Sub '=================================================================== 最後仍然在謝謝各位前輩的指導,讓小弟受益良多~~謝謝 ^_^
補上衣點就是當我知道這一個API之後我自己搜尋自己電腦儲存的舊網頁資料發現其實在之前的VB心得筆記之中也早就有提到相關的資訊了~~
推推~~