有兩種方法:
成都創(chuàng)新互聯(lián)成立于2013年,先為同江等服務(wù)建站,同江等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為同江企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
1、
Dim a As New System.EventArgs()
Dim b As New System.Object()
Button1_Click(a, b)
2、
Button1.Pr……Click(中間那一段忘記了,是在“全部”里面的方法,請補(bǔ)充下)
用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)用這個過程即可對目標(biāo)窗體發(fā)送F1鍵
Call PostMessage(hwnd, WM_KEYDOWN, VK_F1, 0)
Call PostMessage(hwnd, WM_KEYUP, VK_F1, 0)
End Sub這里是發(fā)送F1的實例,各個按鍵對應(yīng)的虛擬鍵碼,要到網(wǎng)上查
窗口邊框(FormBorderStyle)設(shè)為None,窗口(WindowState)設(shè)為Maximized,如果想讓窗口背景透明,將窗口背景顏色和TransparencyKey設(shè)為同一種顏色,按鈕用Label(標(biāo)簽)代替,背景設(shè)為Transparent,邊框設(shè)為None,文字位置一般是下中,Label控件支持無邊框。
動感效果在鼠標(biāo)事件(MouseDown按下,MouseUp抬起,MouseEnter進(jìn)入,MouseLeave離開)更換指定的圖片;
添加timer控件還可以使用動畫
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.Label1.Refresh()
End Sub
快捷鍵用熱鍵
RegisterHotKey
函數(shù)功能:該函數(shù)定義一個系統(tǒng)范圍的熱鍵。
函數(shù)原型:BOOL RegisterHotKey(HWND hWnd,intid,UINT fsModifiers,UINT vk);
參數(shù):
hWnd:接收熱鍵產(chǎn)生WM_HOTKEY消息的窗口句柄。若該參數(shù)NULL,傳遞給調(diào)用線程的WM_HOTKEY消息必須在消息循環(huán)中中進(jìn)行處理。
id:定義熱鍵的標(biāo)識符。調(diào)用線程中的其他熱鍵不能使用同樣的標(biāo)識符。應(yīng)用功能程序必須定義一個0X0000-0xBFFF范圍的值。一個共享的動態(tài)鏈接庫(DLL)必須定義一個0xC000-0xFFFF范圍的值伯GlobalAddAtom函數(shù)返回該范圍)。為了避免與其他動態(tài)鏈接庫定義的熱鍵沖突,一個DLL必須使用GlobalAddAtom函數(shù)獲得熱鍵的標(biāo)識符。
fsModifoers:定義為了產(chǎn)生WM_HOTKEY消息而必須與由nVirtKey參數(shù)定義的鍵一起按下的鍵。該參數(shù)可以是如下值的組合:
MOD_ALT:按下的可以是任一Alt鍵。MOD_CONTROL:按下的可以是任一Ctrl鍵。
MOD_SHIFT:按下的可以是任一Shift鍵。
MOD_WIN:按下的可以是任一Windows按鍵。
vk:定義熱鍵的虛擬鍵碼。
返回值:若函數(shù)調(diào)用成功,返回一個非O值。若函數(shù)調(diào)用失敗,則返回值為0。若要獲得更多的錯誤信息,可以調(diào)用GetLastError函數(shù)。
備注:當(dāng)某鍵被接下時,系統(tǒng)在所有的熱鍵中尋找匹配者。一旦找到一個匹配的熱鍵,系統(tǒng)將把WM_HOTKEY消息傳遞給登記了該熱鍵的線程的消息隊列。該消息被傳送到隊列頭部,因此它將在下一輪消息循環(huán)中被移去。該函數(shù)不能將熱鍵同其他線程創(chuàng)建的窗口關(guān)聯(lián)起來。
若為一熱鍵定義的擊鍵己被其他熱鍵所定義,則RegisterHotKey函數(shù)調(diào)用失敗。
若hWnd參數(shù)標(biāo)識的窗口已用與id參數(shù)定義的相同的標(biāo)識符登記了一個熱鍵,則參數(shù)fsModifiers和vk的新值將替代這些參數(shù)先前定義的值。
若設(shè)置MOD_KEYUP位,則當(dāng)發(fā)生鍵被按下或被彈起的事件時,窗口將發(fā)送WM_HOTKEY消息。
RegisterHotKey可以被用來在線程之間登記熱鍵。
UnregisterHotKey
函數(shù)功能:該函數(shù)釋放調(diào)用線程先前登記的熱鍵。
函數(shù)原型:BOOL UnregisterHotKey(HWND hWnd,int id);
參數(shù):
hWnd:與被釋放的熱鍵相關(guān)的窗口句柄。若熱鍵不與窗口相關(guān),則該參數(shù)為NULL。
id:定義被釋放的熱鍵的標(biāo)識符。
返回值:若函數(shù)調(diào)用成功,返回值不為0。若函數(shù)調(diào)用失敗,返回值為0。若要獲得更多的錯誤信息,可以調(diào)用GetLastError函數(shù)。
1、首先定義所需要用到的常量
如圖所示,在窗體代碼后定義常量和API函數(shù)
代碼如下:
Public Const WM_HOTKEY As Integer = H312
Public Const MOD_ALT As Integer = H1
Public Const MOD_CONTROL As Integer = H2
Public Const MOD_SHIFT As Integer = H4
Public Const GWL_WNDPROC As Integer = (-4)
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
下面過程是注冊Ctrl+T的組合鍵為組合鍵,假如注冊成功,則返回true,反之注冊失敗則返回false,我們可以根據(jù)返回的結(jié)果判斷并提醒用戶注冊的情況。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim isResult As Boolean
isResult=RegisterHotKey(Handle, 0, MOD_CONTROL, Asc("T")) ’注冊Ctrl+T的組合鍵
If isResult = False Then
MsgBox("注冊熱鍵Ctrl+T失敗")
End If
End Sub
[apge]
下面過程為重載WndProc過程,響應(yīng)熱鍵并處理熱鍵,這里是用來隱藏和顯示程序主界面。
Protected Overrides Sub WndProc(ByRef m As Message)
If m.Msg = WM_HOTKEY Then
System.Diagnostics.Process.Start("C:\WINDOWS\system32\freecell.exe")'運(yùn)行當(dāng)空接龍游戲
End If
MyBase.WndProc(m)
End Sub
最后在關(guān)閉窗體的時候釋放占用的熱鍵,如果前面注冊失敗的話,則會出現(xiàn)釋放失敗的結(jié)果。
Private Sub Form1_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
Dim isResult As Boolean
isResult=UnRegisterHotKey(Handle, 0)
End Sub
雙擊打開指定的程序
Private Sub Label1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label1.DoubleClick
System.Diagnostics.Process.Start("C:\WINDOWS\system32\freecell.exe")
End Sub
System.Diagnostics.Process.Start("路徑")打開指定程序
先列出這些吧
⒃諳允景磁サ氖錄?刑砑?br /me.backgroundimage=system.drawing.bitmap.fromfile("你的圖片文件路徑")
命令按鈕1.Visable=False'或者命令按鈕1.Hide
命令按鈕2.Visable=False'或者命令按鈕2.Hide
在窗體的Click事件中添加
命令按鈕1.Visable=True'或者命令按鈕1.show
命令按鈕2.Visable=True'或者命令按鈕2.show
me.backgroundimage=nothing
在退出按鈕的事件中添加
End
2、這里應(yīng)該還有兩個Timer,Timer1和Timer2
在開始按鈕的事件中添加
timer1.interval=1000
Timer1.enable=True
timer2.interval=500
timer2.enable=true
在Timer1的Tick事件中添加
label1.text=timeofday
在Timer2的Tick事件中添加
label2.left=label2.left 10
if label2.left