'vb全局快捷鍵是個大大滴難題,不好整。以下是個演示,辦法比較笨,本人自用的,你試試。
創(chuàng)新互聯(lián)公司基于成都重慶香港及美國等地區(qū)分布式IDC機房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)服務(wù)器托管報價,主機托管價格性價比高,為金融證券行業(yè)綿陽服務(wù)器托管,ai人工智能服務(wù)器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業(yè)成都idc公司。
'窗體放上控件: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
最簡單的加速運動示例,直接拷貝代碼,即可用方向鍵控制控件移動
Public?Class?最簡單的加速運動
Dim?左右,?上下?As?Integer
Dim?X,?Y,?VX,?VY,?VA?As?Double
Dim?WithEvents?時鐘?As?New?Timer
Dim?WithEvents?移動控件?As?New?Label
Private?Sub?Form1_Load(sender?As?Object,?e?As?EventArgs)?Handles?MyBase.Load
Me.KeyPreview?=?True
VA?=?0.5
X?=?300.0
Y?=?300.0
移動控件.BackColor?=?Color.MediumPurple
移動控件.Size?=?New?Size(60,?60)
Controls.Add(移動控件)
時鐘.Interval?=?25
時鐘.Enabled?=?True
End?Sub
Private?Sub?Form1_KeyDown(sender?As?Object,?e?As?KeyEventArgs)?Handles?MyBase.KeyDown
If?e.KeyCode?=?Keys.Up?Then?上下?=?-1
If?e.KeyCode?=?Keys.Down?Then?上下?=?1
If?e.KeyCode?=?Keys.Left?Then?左右?=?-1
If?e.KeyCode?=?Keys.Right?Then?左右?=?1
End?Sub
Private?Sub?Form1_KeyUp(sender?As?Object,?e?As?KeyEventArgs)?Handles?MyBase.KeyUp
If?e.KeyCode?=?Keys.Up?Then?上下?=?0
If?e.KeyCode?=?Keys.Down?Then?上下?=?0
If?e.KeyCode?=?Keys.Left?Then?左右?=?0
If?e.KeyCode?=?Keys.Right?Then?左右?=?0
End?Sub
Private?Sub?時鐘_Tick(sender?As?Object,?e?As?EventArgs)?Handles?時鐘.Tick
VX?=?Math.Min(VX?+?左右?*?VA,?10)
VY?=?Math.Min(VY?+?上下?*?VA,?10)
X?+=?VX
Y?+=?VY
If?X??0?Then?X?=?2?:?VX?=?-VX
If?Y??0?Then?Y?=?2?:?VY?=?-VY
If?X??Width?-?移動控件.Width?Then?X?=?Width?-?移動控件.Width?-?2?:?VX?=?-VX
If?Y??Height?-?移動控件.Height?Then?Y?=?Height?-?移動控件.Height?-?2?:?VY?=?-VY
移動控件.Location?=?New?Point(X,?Y)
End?Sub
End?Class
1. F12:轉(zhuǎn)到定義;Shift+F12:轉(zhuǎn)到引用
2. F5:啟動;Ctrl+F5:開始執(zhí)行(不調(diào)試);Shift+F5:停止調(diào)試
3. F7:查看代碼;Shift+F7:查看視圖設(shè)計器
4. Ctrl+Alt+L:解決方案資源管理器
5. Ctrl+Alt+J:對象瀏覽器
6. F4:顯示屬性窗口
7. Ctrl+Alt+X:工具箱
8. Ctrl+Alt+C類視圖
9. Alt+Enter:查看屬性
10.F10:逐過程調(diào)試
11.F11:逐語句調(diào)試
12.Ctrl+B:新斷點
13.Ctrl+Shift+F9:清除所有斷點
14.Ctrl+Shift+B生成解決方案
15.Shift+Alt+Enter:全屏
16.大綱顯示:Ctrl+M, Ctrl+M:切換大綱顯示展開;Ctrl+M, Ctrl+L:切換所有大綱顯示;Ctrl+M,Crtl+P停止大綱顯示;Ctrl+M, Ctrl+O:折疊到定義
17.智能感知:Ctrl+J:列出成員;Ctrl+Shift+空格:參數(shù)信息; Ctrl+K,Ctrl+I:快速信息;Alt+右箭頭鍵:完成單詞
用API函數(shù),下面是F4激活程序的事例
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
你需要學(xué)習(xí)System.IO命名空間內(nèi)的
File、FileInfo、Path、Directory、DirectoryInfo、DriveInfo
其中File、Directory可以對文件、目錄進行操作
而尾部帶Info的類,用于獲取文件、目錄和磁盤的信息
這些信息包括圖標(biāo)、文件名稱、大小、創(chuàng)建日期、是否只讀等等
使用Listview控件:
首先獲取桌面目錄的信息,根據(jù)系統(tǒng)的不同Win和XP位置不一樣,一般在"C:\Users\用戶名\Desktop",并使用
DirectoryInfo的EnumerateDirectories和EnumerateFiles方法來枚舉目錄內(nèi)的子目錄和文件
當(dāng)用戶選擇Listview控件中的文件項時,使用Process.Strat(文件路徑)的方法來啟動程序
MSDN參考鏈接
純手打,希望采納
keypress:操作窗格具有焦點并按下某個鍵時發(fā)生,不能由非字符鍵引發(fā)
keydown:按下鍵盤按鍵時發(fā)生
keyup:鍵盤按鍵彈起時發(fā)生
以上事件觸發(fā)的時間不同,順序 down press up
keychar:按鍵對應(yīng)的字符
keycode:獲取 KeyDown 或 KeyUp 事件的鍵盤代碼
char不能獲取 控制鍵如tab Insert delete 方向鍵等
分享標(biāo)題:vb.net獲取控制鍵,vbnet遍歷控件
URL鏈接:http://jinyejixie.com/article30/dsedppo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、移動網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、關(guān)鍵詞優(yōu)化、營銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作
聲明:本網(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)