经常上网吧的朋友知道,有的网吧不可以下载东西,我们现在就利用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了。当然还需要一个恢复修改的程序,否则连我们自已也不能下载文件和修改注册表了,通过上面的程序,相信你应该可以编写一个恢复修改的程序了吧,这里我就不再赘述了。
【编辑推荐】