經典VB.NET編程之禁止網上下載文件案例
經常上網吧的朋友知道,有的網吧不可以下載東西,我們現在就利用VB.NET編程還實現這一功能。但只要稍懂一點計算機的人就可以再進入IE設置中修改為允許下載。本人經過研究注冊表,找到了一種可禁止下載的方法,就是利用VB.NET編寫一個小程序,通過修改注冊表中的某些項目,完全禁止IE瀏覽器的下載功能,而且屏蔽一切修改注冊表的方法。
一、VB.NET編程啟動VB6.0,新建一工程,命名為DENYDOWN;
二、VB.NET編程修改注冊表有兩種方法:一種是建立一個擴展名為.REG的文件,雙擊后自動添加到注冊表中(在程序中是通過WINDOWS自帶的一個注冊表編輯文REGEDIT.EXE把它導入注冊表,達到修改注冊表的目的);另一種是通過調用WINDOWS API函數,來修改注冊表。兩種方法各有長短,我們這里把二者結合起來,共同使用,達到對注冊表的修改目的。由于我們要調用WINDOWS API函數,所以先在聲明欄中聲明如下的四個API函數:打開子鍵RegOpenKey、刪除子鍵RegDeleteKey、關閉打開的子鍵RegCloseKey和刷新子鍵函數RegFlushKey,還有一個常數聲明:HKEY_LOCAL_MACHINE,聲明語名如下:
- 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事件過程中輸入以下內容,為了后面說明方便,這里給每一行加了標號,當然實際編程中是不能加標號的。
為了讓本程序在每次修改完注冊表后能自動關閉,還要加入下面的退出程序。
- Private Sub Form_GotFocus()
- Unload Me
- End Sub
生成DenyDown.exe,拷貝到C:\PROGRAM FILES\DenyDownLoad\,就一切OK了。當然還需要一個恢復修改的程序,否則連我們自已也不能下載文件和修改注冊表了,通過上面的程序,相信你應該可以編寫一個恢復修改的程序了吧,這里我就不再贅述了。
【編輯推薦】