窗口邊框(FormBorderStyle)設(shè)為None,窗口(WindowState)設(shè)為Maximized,如果想讓窗口背景透明,將窗口背景顏色和TransparencyKey設(shè)為同一種顏色,按鈕用Label(標(biāo)簽)代替,背景設(shè)為T(mén)ransparent,邊框設(shè)為None,文字位置一般是下中,Label控件支持無(wú)邊框。
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),咸陽(yáng)企業(yè)網(wǎng)站建設(shè),咸陽(yáng)品牌網(wǎng)站建設(shè),網(wǎng)站定制,咸陽(yáng)網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,咸陽(yáng)網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
動(dòng)感效果在鼠標(biāo)事件(MouseDown按下,MouseUp抬起,MouseEnter進(jìn)入,MouseLeave離開(kāi))更換指定的圖片;
添加timer控件還可以使用動(dòng)畫(huà)
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ù)定義一個(gè)系統(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)識(shí)符。調(diào)用線程中的其他熱鍵不能使用同樣的標(biāo)識(shí)符。應(yīng)用功能程序必須定義一個(gè)0X0000-0xBFFF范圍的值。一個(gè)共享的動(dòng)態(tài)鏈接庫(kù)(DLL)必須定義一個(gè)0xC000-0xFFFF范圍的值伯GlobalAddAtom函數(shù)返回該范圍)。為了避免與其他動(dòng)態(tài)鏈接庫(kù)定義的熱鍵沖突,一個(gè)DLL必須使用GlobalAddAtom函數(shù)獲得熱鍵的標(biāo)識(shí)符。
fsModifoers:定義為了產(chǎn)生WM_HOTKEY消息而必須與由nVirtKey參數(shù)定義的鍵一起按下的鍵。該參數(shù)可以是如下值的組合:
MOD_ALT:按下的可以是任一Alt鍵。MOD_CONTROL:按下的可以是任一Ctrl鍵。
MOD_SHIFT:按下的可以是任一Shift鍵。
MOD_WIN:按下的可以是任一Windows按鍵。
vk:定義熱鍵的虛擬鍵碼。
返回值:若函數(shù)調(diào)用成功,返回一個(gè)非O值。若函數(shù)調(diào)用失敗,則返回值為0。若要獲得更多的錯(cuò)誤信息,可以調(diào)用GetLastError函數(shù)。
備注:當(dāng)某鍵被接下時(shí),系統(tǒng)在所有的熱鍵中尋找匹配者。一旦找到一個(gè)匹配的熱鍵,系統(tǒng)將把WM_HOTKEY消息傳遞給登記了該熱鍵的線程的消息隊(duì)列。該消息被傳送到隊(duì)列頭部,因此它將在下一輪消息循環(huán)中被移去。該函數(shù)不能將熱鍵同其他線程創(chuàng)建的窗口關(guān)聯(lián)起來(lái)。
若為一熱鍵定義的擊鍵己被其他熱鍵所定義,則RegisterHotKey函數(shù)調(diào)用失敗。
若hWnd參數(shù)標(biāo)識(shí)的窗口已用與id參數(shù)定義的相同的標(biāo)識(shí)符登記了一個(gè)熱鍵,則參數(shù)fsModifiers和vk的新值將替代這些參數(shù)先前定義的值。
若設(shè)置MOD_KEYUP位,則當(dāng)發(fā)生鍵被按下或被彈起的事件時(shí),窗口將發(fā)送WM_HOTKEY消息。
RegisterHotKey可以被用來(lái)在線程之間登記熱鍵。
UnregisterHotKey
函數(shù)功能:該函數(shù)釋放調(diào)用線程先前登記的熱鍵。
函數(shù)原型:BOOL UnregisterHotKey(HWND hWnd,int id);
參數(shù):
hWnd:與被釋放的熱鍵相關(guān)的窗口句柄。若熱鍵不與窗口相關(guān),則該參數(shù)為NULL。
id:定義被釋放的熱鍵的標(biāo)識(shí)符。
返回值:若函數(shù)調(diào)用成功,返回值不為0。若函數(shù)調(diào)用失敗,返回值為0。若要獲得更多的錯(cuò)誤信息,可以調(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
下面過(guò)程是注冊(cè)Ctrl+T的組合鍵為組合鍵,假如注冊(cè)成功,則返回true,反之注冊(cè)失敗則返回false,我們可以根據(jù)返回的結(jié)果判斷并提醒用戶注冊(cè)的情況。
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")) ’注冊(cè)Ctrl+T的組合鍵
If isResult = False Then
MsgBox("注冊(cè)熱鍵Ctrl+T失敗")
End If
End Sub
[apge]
下面過(guò)程為重載WndProc過(guò)程,響應(yīng)熱鍵并處理熱鍵,這里是用來(lái)隱藏和顯示程序主界面。
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)閉窗體的時(shí)候釋放占用的熱鍵,如果前面注冊(cè)失敗的話,則會(huì)出現(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
雙擊打開(kāi)指定的程序
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("路徑")打開(kāi)指定程序
先列出這些吧
打包過(guò)程:
1、打開(kāi)自己已經(jīng)創(chuàng)建好的VB.NET項(xiàng)目(一般一開(kāi)始創(chuàng)建項(xiàng)目的時(shí)候創(chuàng)建的是Windows窗體應(yīng)用程序)。
2、點(diǎn)“文件”--“新建項(xiàng)目”--“其他項(xiàng)目類型”--“安裝部署”--“Visual Studio Installer”--“安裝項(xiàng)目”,輸入項(xiàng)目名稱(此處命名為setup1)并點(diǎn)擊“確定”。
3、執(zhí)行完上一步,在解決方案下面會(huì)出現(xiàn)setup1項(xiàng)目。右擊setup1項(xiàng)目--“添加”--“項(xiàng)目輸出”。
4、在“添加項(xiàng)目輸出組”中,選擇“主輸出”,然后單擊“確定”。將自動(dòng)添加所有依賴項(xiàng)。
5、在解決方案資源管理器中,右擊安裝項(xiàng)目---“添加”---“合并模塊”。? 把相關(guān)模塊添加進(jìn)來(lái)。
6、在文件系統(tǒng)選項(xiàng)卡中添加所需的應(yīng)用程序圖標(biāo)等文件,并生成應(yīng)用程序的桌面快捷方式,在快捷方式上右鍵選擇屬性,并在屬性欄中的圖標(biāo)處選擇應(yīng)用程序快捷方式圖標(biāo)。(要在用戶桌面和用戶的“程序”菜單屬性里將AlwaysCreate屬性的值修改為T(mén)rue)。這樣安裝完程序后就可以看到桌面的圖標(biāo)了
7、關(guān)于應(yīng)用程序圖標(biāo)的詳細(xì)說(shuō)明:
(1)點(diǎn)擊“應(yīng)用程序文件夾”并在右側(cè)的列表中的“主輸出來(lái)自。?!鄙嫌益I然后點(diǎn)擊“創(chuàng)建主輸出來(lái)自。。的快捷方式”
(2)把生成的快捷方式復(fù)制到“用戶桌面”,然后右鍵重命名為你想要在程序安裝后顯示的名字。
(3)重命名完成后在右側(cè)的屬性欄中點(diǎn)擊圖標(biāo)設(shè)置為自己想要的圖標(biāo),注意,需要先把圖標(biāo)文件ico加入到“應(yīng)用程序文件夾”中。(ico的制作:先做好256*256的png文件,然后百度ico制作找到在線制作ico的網(wǎng)站,直接生成ico圖標(biāo)文件)
關(guān)于安裝后的一些屬性的設(shè)置:
1.新建安裝和部署。 打開(kāi)你所寫(xiě)的項(xiàng)目,在解決方案上右鍵-添加-新建項(xiàng)目。選擇其他項(xiàng)目類型-安裝和部署-安裝項(xiàng)目。在名稱中把名字改為你所希望的名字,然后確定。 2.確定后打開(kāi)文件系統(tǒng),然后單擊應(yīng)用程序文件夾,在右邊空白處右鍵-添加-項(xiàng)目輸出。3.選擇主輸出,然后確定。 4.在剛添加的主輸出上右鍵,創(chuàng)建其快捷方式??梢灾孛部刹恢孛?。5.剪切剛創(chuàng)建的快捷方式,然后單擊用戶的程序菜單,在其上右鍵,添加,文件夾,重命名文件夾。這個(gè)文件夾名字就是你在開(kāi)始,所有程序中顯示的名字。然后單擊剛創(chuàng)建的文件夾,在右邊空白處粘貼快捷方式,安裝好程序后,這個(gè)快捷方式會(huì)出現(xiàn)在所有程序中。 6.像上面一樣再創(chuàng)建一個(gè)快捷方式,剪切,然后單擊用戶桌面,粘貼。安裝完程序后,這個(gè)快捷方式出現(xiàn)在桌面。 7.右擊左邊的"應(yīng)用程序文件夾"打開(kāi)屬性對(duì)話框:將屬性中的"defaultlocation"的路徑中的"[manufacturer]"去掉,
不然的話做好的安裝程序默認(rèn)安裝目錄會(huì)是"c:\programm file\你的用戶名\安裝解決方案名稱"。 8.右鍵你的安裝項(xiàng)目名,屬性。在打開(kāi)的屬性頁(yè)中,選擇"系統(tǒng)必備",在打開(kāi)的系統(tǒng)必備頁(yè)中,選中如下圖中的選擇項(xiàng),選上以后,在生成的安裝文件包中包含.netframework組件,然后確定。 9.改變桌面和開(kāi)始-所有程序中該程序的默認(rèn)圖標(biāo)。在應(yīng)用程序文件夾右邊空白處,右鍵-添加-文件,添加一個(gè)ico文件。打開(kāi)用戶的程序菜單-'你的程序名',在右邊的快捷方式上右鍵,屬性窗口。向其屬性中的icon屬性添加剛添加的ico圖標(biāo)。同理,打開(kāi)用戶桌面,在右邊的快捷方式上右鍵,屬性窗口。向其屬性中的icon屬性添加剛添加的ico圖標(biāo)。 10.添加卸載功能。在應(yīng)用程序文件夾右邊空白處,右鍵-添加-文件,選擇c:\windows\system32文件夾下的msiexec.exe文件。然后重命名為Uninstall.exe。改不改名字都可以。然后創(chuàng)建快捷方式,剪切到用戶的程序菜單-'你的程序名'。 11.用鼠標(biāo)左鍵單擊安裝項(xiàng)目名,查看其屬性,注意不是右鍵,屬性。查看其ProductCode屬性。然后復(fù)制該屬性的值。如圖: 12.然后打開(kāi)你創(chuàng)建的那個(gè)卸載快捷方式的屬性對(duì)話框,在Aguements屬性中輸入"/x {ProductCode}",本例為/x {D8DB4DCF-B28A-49CB-9840-E36D68FD7EE1}。 13.右鍵安裝項(xiàng)目名,單擊生成,即可生成帶有卸載功能的安裝程序了.