转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
用VB6.0编程禁止网上下载文件         ★★★★

用VB6.0编程禁止网上下载文件

作者:闵涛 文章来源:闵涛的学习笔记 点击数:693 更新时间:2009/4/23 15:02:49
  随着计算机的普及,互联网已逐渐走向千家万户、单位学校,但随之而来的问题也出现:由于网上有大量的游戏软件、图片、多媒体内容等,许多网民利用单位或学校的计算机,在网上大量下载这类东东,不仅使流量猛增,网费消耗,而且更容易使一些黄色内容肆意传播,虽然在IE浏览器中有一项可设为禁止下载,但只要稍懂一点计算机的人就可以再进入IE设置中修改为允许下载。本人经过研究注册表,找到了一种可禁止下载的方法,就是利用VB6编写一个小程序,通过修改注册表中的某些项目,完全禁止IE浏览器的下载功能,而且屏蔽一切修改注册表的方法。

  一、启动VB6.0,新建一工程,命名为DENYDOWN;

  二、修改注册表有两种方法:一种是建立一个扩展名为.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
  三、在Form_Load事件过程中输入以下内容,为了后面说明方便,这里给每一行加了标号,当然实际编程中是不能加标号的。

Dim line As String
Dim a As Long
Dim fso, fs As Object
line = "REGEDIT4" & Chr(13) & Chr(10)
line = line & Chr(13) & Chr(10)
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34   line = line & "[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3]" & Chr(13) & Chr(10)
line = line & """1803""=dword:00000003" & Chr(13) & Chr(10) '禁止下载
line = line & Chr(13) & Chr(10)
line = line & "[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]" & Chr(13) & Chr(10) '加入启动组
line = line & """DenyDownLoad""=""C:\\PROGRAM FILES\\DenyDownLoad\\DenyDown.exe"""
line = line & Chr(13) & Chr(10)
line = line & "[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\System]" & Chr(13) & Chr(10)
line = line & """DisableRegistryTools""=dword:00000001" & Chr(13) & Chr(10) '禁止修改注册表
line = line & Chr(13) & Chr(10)
line = line & "[HKEY_CLASSES_ROOT\regfile\shell\open\command]" & Chr(13) & Chr(10)
line = line & "@=""regedit.exe""" & Chr(13) & Chr(10) '修改添加注册表文件为打开注册表。
line = line & Chr(13) & Chr(10)
line = line & "[HKEY_LOCAL_MACHINE\Software\CLASSES\.reg]" & Chr(13) & Chr(10)
line = line & "@=""txtfile""" & Chr(13) & Chr(10) '关联注册表文件到TEXT文件。
line = line & Chr(13) & Chr(10)
line = line & "[HKEY_LOCAL_MACHINE\Software\CLASSES\.inf]" & Chr(13) & Chr(10)
line = line & "@=""txtfile""" & Chr(13) & Chr(10) '关联inf文件到TEXT文件
Set fso = CreateObject("Scripting.FileSystemObject")
Set fs = fso.CreateTextFile("c:\ModiReg.reg", True)
fs.writeline (line)
fs.Close
Set fs = Nothing
a = Shell("regedit.exe /s c:\ModiReg.reg", 1)
Kill ("c:\ModiReg.reg")
Dim hKey, ret As Long
ret = RegOpenKey(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Internet Settings\SO\DOWNLOAD\FILEDOWNLOAD", hKey)
ret = RegDeleteKey(hKey, "ALLOW") '删除允许下载项
ret = RegCloseKey(hKey)
ret = RegFlushKey(hKey)
  代码说明:

  上面第4行到第27行是把要在注册表中修改的内容建立一个注册表文件ModiReg.reg,由于这种文件的格式要求开头必须有"REGEDIT4"一行,并且紧跟后面要求一空行,所以有4、5两行。第6、7两行是修改注册表中关于IE设置当中的参数,当修改为3时表示禁止下载。第9、10两行是把本程序加入启动组,保证每次启动机器后都能自运行本程序,当然这里限定本程序的位置必须是“C:\PROGRAM FILES\DenyDownLoad\DenyDown.exe”,如果你不想把它放在这里,就要修改这里的内容了。第12、13行是禁止用户使用注册表编辑器来修改注册表。由于修改注册表还可以通过建立一个.REG文件,双击后加入注册表,为了防止懂得注册表知识的人通过这种方式修改注册表中关于禁止下载的项目,所以在15、16行里修改添加注册表文件为打开注册表,由于第13行设置了禁止打开注册表,所以也就不能添加注册表文件了。第18行到第22行也是出于更安全的目的分别使.REG文件和.INF文件关联到记事本,加强对注册表的保护。第24行是把上面的内容写入一个注册表文件ModiReg.reg,第28行是通过SHELL()函数调用注册表编辑器把ModiReg.reg中的内容添加入注册表中。由于调用REGEDIT.EXE添加注册表项时会出现一个对话框,所以加了一个/S参数禁止该对话框的显示。第31、32行是通过Windows Api函数删除注册表中关于IE设置中允许下载的项目,第33行是更新设置,第34行是关闭注册表,完成对注册表的修改。
为了让本程序在每次修改完注册表后能自动关闭,还要加入下面的退出程序。

Private Sub Form_GotFocus()
Unload Me
End Sub
  生成DenyDown.exe,拷贝到C:\PROGRAM FILES\DenyDownLoad\,就一切OK了。当然还需要一个恢复修改的程序,否则连我们自已也不能下载文件和修改注册表了,通过上面的程序,相信你应该可以编写一个恢复修改的程序了吧,这里我就不再赘述了。


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台