1.定義變量記錄鍵是否被按下,按下的累計(jì)時(shí)間
公司主營(yíng)業(yè)務(wù):網(wǎng)站建設(shè)、網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出海晏免費(fèi)做網(wǎng)站回饋大家。
Dim?按下A鍵??As?Boolean
Dim?按下A鍵時(shí)間?As?Integer
2.添加一個(gè)TextBox1用于接收鍵盤事件,或者直接用窗體的鍵盤事件(確保KeyPreview為True)
在KeyDown事件中添加如下代碼:
If?e.Keycode?=?keys.A?Then?按下A鍵?=?True
在KeyUp事件中添加如下代碼:
If?e.Keycode?=?keys.A?Then?按下A鍵?=?False
3.添加一個(gè)Timer1控件,調(diào)整Timer1的Interval來決定按鍵頻率,記得要把Timer1.Enable開啟
在Tick事件中添加如下代碼:
If?按下A鍵?=?True
按下A鍵時(shí)間+=1
Call?音量設(shè)置(按下A鍵時(shí)間?*?10)
End?If
PS:?按下的秒數(shù) =?按下A鍵時(shí)間*Timer1.Interval / 1000
在我這里不會(huì)啊,你最后說“為什么會(huì)出現(xiàn)這個(gè)提示”,是什么提示?msgbox"1"在你那兒看的到嗎?界面掛起了嗎?你怎么停止的運(yùn)行?
看了很多這方便的解決方案,很多都是一大段代碼,版本也有差別,既然有可能別人用得起我也用不起。
我用一種最簡(jiǎn)單的方法,只要思路對(duì)所有人都能用得起。
其實(shí)非常簡(jiǎn)單,就是獲取鍵值,Ctrl+Enter的健值是10,是不是思路一下就通了。以下是源碼:
Private Sub 聊天輸入框_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles 聊天輸入框.KeyPress
If Asc(e.KeyChar) = 發(fā)送快捷鍵值 Then
發(fā)送消息過程()
End If
End Sub
源內(nèi)容出處:
實(shí)現(xiàn)方法如下:
1、如果有窗口,使用API sendmessage 函數(shù)向主窗口發(fā)送消息。
2、使用鍵盤Hook模擬發(fā)送一個(gè)全局按鍵消息。
3、打開進(jìn)程,使用匯編注入輸入函數(shù)
用API函數(shù),以下代碼Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As LongPrivate Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As LongPrivate Const WS_EX_LAYERED = H80000
Private Const GWL_EXSTYLE = (-20)
Private Const LWA_ALPHA = H2
Private Const LWA_COLORKEY = H1Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_TOPMosT = -1
Private Const SWP_NOMOVE = H2
Private Const SWP_NosIZE = H1
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const WM_KEYDOWN = H100
Const WM_KEYUP = H101
Const WM_CHAR = H102
Const VK_F1 = H70
Private Sub SendF1(hwnd) '調(diào)用這個(gè)過程即可對(duì)目標(biāo)窗體發(fā)送F1鍵
Call PostMessage(hwnd, WM_KEYDOWN, VK_F1, 0)
Call PostMessage(hwnd, WM_KEYUP, VK_F1, 0)
End Sub這里是發(fā)送F1的實(shí)例,各個(gè)按鍵對(duì)應(yīng)的虛擬鍵碼,要到網(wǎng)上查
分享標(biāo)題:vb.net連續(xù)發(fā)送按鍵 vbs發(fā)送按鍵
瀏覽地址:http://jinyejixie.com/article4/dosdioe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、小程序開發(fā)、域名注冊(cè)、云服務(wù)器、用戶體驗(yàn)、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
移動(dòng)網(wǎng)站建設(shè)知識(shí)