經(jīng)典VB.NET編程之禁止網(wǎng)上下載文件案例
經(jīng)常上網(wǎng)吧的朋友知道,有的網(wǎng)吧不可以下載東西,我們現(xiàn)在就利用VB.NET編程還實(shí)現(xiàn)這一功能。但只要稍懂一點(diǎn)計(jì)算機(jī)的人就可以再進(jìn)入IE設(shè)置中修改為允許下載。本人經(jīng)過(guò)研究注冊(cè)表,找到了一種可禁止下載的方法,就是利用VB.NET編寫(xiě)一個(gè)小程序,通過(guò)修改注冊(cè)表中的某些項(xiàng)目,完全禁止IE瀏覽器的下載功能,而且屏蔽一切修改注冊(cè)表的方法。
一、VB.NET編程啟動(dòng)VB6.0,新建一工程,命名為DENYDOWN;
二、VB.NET編程修改注冊(cè)表有兩種方法:一種是建立一個(gè)擴(kuò)展名為.REG的文件,雙擊后自動(dòng)添加到注冊(cè)表中(在程序中是通過(guò)WINDOWS自帶的一個(gè)注冊(cè)表編輯文REGEDIT.EXE把它導(dǎo)入注冊(cè)表,達(dá)到修改注冊(cè)表的目的);另一種是通過(guò)調(diào)用WINDOWS API函數(shù),來(lái)修改注冊(cè)表。兩種方法各有長(zhǎng)短,我們這里把二者結(jié)合起來(lái),共同使用,達(dá)到對(duì)注冊(cè)表的修改目的。由于我們要調(diào)用WINDOWS API函數(shù),所以先在聲明欄中聲明如下的四個(gè)API函數(shù):打開(kāi)子鍵RegOpenKey、刪除子鍵RegDeleteKey、關(guān)閉打開(kāi)的子鍵RegCloseKey和刷新子鍵函數(shù)RegFlushKey,還有一個(gè)常數(shù)聲明:HKEY_LOCAL_MACHINE,聲明語(yǔ)名如下:
- Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias _ "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
- Private Declare Function RegOpenKey Lib "advapi32.dll" Alias _ "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As_ Long
- Private Const HKEY_LOCAL_MACHINE = &H80000002
- Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As_ Long
- Private Declare Function RegFlushKey Lib "advapi32.dll" (ByVal hKey As Long) As_ Long
三、VB.NET編程在Form_Load事件過(guò)程中輸入以下內(nèi)容,為了后面說(shuō)明方便,這里給每一行加了標(biāo)號(hào),當(dāng)然實(shí)際編程中是不能加標(biāo)號(hào)的。
為了讓本程序在每次修改完注冊(cè)表后能自動(dòng)關(guān)閉,還要加入下面的退出程序。
- Private Sub Form_GotFocus()
- Unload Me
- End Sub
生成DenyDown.exe,拷貝到C:\PROGRAM FILES\DenyDownLoad\,就一切OK了。當(dāng)然還需要一個(gè)恢復(fù)修改的程序,否則連我們自已也不能下載文件和修改注冊(cè)表了,通過(guò)上面的程序,相信你應(yīng)該可以編寫(xiě)一個(gè)恢復(fù)修改的程序了吧,這里我就不再贅述了。
【編輯推薦】