vb點虐 全局按鍵 vbnet doevent

vb點虐 全局熱鍵

見下面的代碼

成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站制作、成都網(wǎng)站設(shè)計與策劃設(shè)計,武宣網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:武宣等地區(qū)。武宣做網(wǎng)站價格咨詢:028-86922220

Public?Class?Form1

Public?Declare?Auto?Function?RegisterHotKey?Lib?"user32.dll"?Alias?"RegisterHotKey"?(ByVal?hwnd?As?IntPtr,?ByVal?id?As?Integer,?ByVal?fsModifiers?As?Integer,?ByVal?vk?As?Integer)?As?Boolean

Public?Declare?Auto?Function?UnRegisterHotKey?Lib?"user32.dll"?Alias?"UnregisterHotKey"?(ByVal?hwnd?As?IntPtr,?ByVal?id?As?Integer)?As?Boolean

Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load

'注冊全局熱鍵?

RegisterHotKey(Handle,?0,?0,?Keys.F4)

'第3個參數(shù)意義:?0=nothing?1?-alt?2-ctrl?3-ctrl+alt?4-shift?5-alt+shift?6-ctrl+shift?7-ctrl+shift+alt

End?Sub

Private?Sub?Form1_Closed(ByVal?sender?As?Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Closed

UnRegisterHotKey(Handle,?0)

End?Sub

Protected?Overrides?Sub?WndProc(ByRef?m?As?Message)

If?m.Msg?=?786?Then

Me.Activate()

End?If

MyBase.WndProc(m)

End?Sub

End?Class

VB 點虐 中如何調(diào)用底層鍵盤鉤子或其他方法屏蔽全局所有按鍵

點虐 的代碼真木有寫過。

VB 可以屏蔽 包括ctrl+alt+del在內(nèi)的所有鍵盤按鍵消息

其實你只要后臺截獲按鍵的消息后,直接屏蔽掉就可以了。

VB代碼我有 net木有。

VB.Net搞的像這種申明,很多過程都要用到,寫在哪里可以全局使用?很多按鈕都要用到

自己在主程序下面創(chuàng)建一個新的cs文件,里面定義一個靜態(tài)的全局變量,然后每次就存取就行了

public static ·······

vb點虐 ,怎么做全局快捷鍵??

'vb全局快捷鍵是個大大滴難題,不好整。以下是個演示,辦法比較笨,本人自用的,你試試。

'窗體放上控件:Command1、Label1、Check1、Check2、Text1、Text2、Timer1

'加入以下代碼,運行,設(shè)置"確定"鍵的快捷鍵

'可選"CTRL+某鍵"或者"SHIFT+某鍵"

'"某鍵"自己設(shè)置,只能設(shè)置為字母或數(shù)字

Private Declare Function GetAsyncKeyState Lib "user32" _

(ByVal vKey As Long) As Integer 'API聲明

Dim i

'================================================================

'這部分是設(shè)置各控件的大小、位置和初始屬性,為了便于演示才加的,

'你可以自行設(shè)計好各控件的大小、位置和初始屬性,無需這些代碼。

Private Sub Form_Load()

Form1.Width = 2690: Form1.Height = 2100

Command1.Width = 1215: Command1.Height = 495

Command1.Top = 120: Command1.Left = 120

Command1.Caption = "確定"

Label1.Width = 2175: Label1.Height = 255

Label1.Top = 720: Label1.Left = 120

Label1.Caption = "設(shè)置 確定 鍵的快捷鍵:"

Check1.Width = 975: Check1.Height = 255

Check1.Top = 960: Check1.Left = 120

Check1.Caption = "CTRL +"

Check2.Width = 975: Check2.Height = 255

Check2.Top = 1320: Check2.Left = 120

Check2.Caption = "SHIFT +"

Text1.Width = 255: Text1.Height = 270

Text1.Top = 960: Text1.Left = 1080

Text1.Text = ""

Text2.Width = 255: Text2.Height = 270

Text2.Top = 1320: Text2.Left = 1080

Text2.Text = ""

Timer1.Interval = 10 'Timer的屬性,必須設(shè)置

End Sub

'以上部分是設(shè)置各控件的大小、位置和初始屬性,為了便于演示才加的,

'你可以自行設(shè)計好各控件的大小、位置和初始屬性,無需這些代碼。

'================================================================

Private Sub Timer1_Timer()

If Text1 "" Then

If Len(Text1) 1 Then Text1 = Left(Text1, 1)

If Asc("a") = Asc(Text1) And Asc(Text1) = Asc("z") _

Then Text1 = Chr(Asc(Text1) - 32)

If Check1.Value = 1 And GetAsyncKeyState(vbKeyControl) 0 _

And GetAsyncKeyState(Asc(Text1)) 0 Then

i = i + 1

If i = 1 Then Call Command1_Click

Else

i = 0

End If

End If

If Text2 "" Then

If Len(Text2) 1 Then Text2 = Left(Text2, 1)

If Asc("a") = Asc(Text2) And Asc(Text2) = Asc("z") _

Then Text2 = Chr(Asc(Text2) - 32)

If Check2.Value = 1 And GetAsyncKeyState(vbKeyShift) 0 _

And GetAsyncKeyState(Asc(Text2)) 0 Then

i = i + 1

If i = 1 Then Call Command1_Click

Else

i = 0

End If

End If

End Sub

Private Sub Command1_Click()

print "你好"

SendKeys "你好"

End Sub

網(wǎng)站題目:vb點虐 全局按鍵 vbnet doevent
網(wǎng)站路徑:http://muchs.cn/article42/ddcgshc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、標簽優(yōu)化、營銷型網(wǎng)站建設(shè)、網(wǎng)站策劃品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)