您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > VB > 正文
用VB6.0编程禁止网上下载文件
[文章信息]
作者:务实
时间:2004-05-17
出处:天极开发者网络
责任编辑:方舟
[文章导读]
随着计算机的普及,互联网已逐渐走向千家万户、单位学校,但随之而来的问题也出现
advertisement
热点推荐
· 天极网软件频道改版调查
· 10.26精选 图画:葡萄小鸡图
· Windows操作系统网络管理技巧
· Fireworks国画:葡萄小鸡图
· 黑客张大民江南小城奇遇记
[正文]
天极IT资讯短信服务 电脑小技巧
资费:包月5元
手机:
介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。

  随着计算机的普及,互联网已逐渐走向千家万户、单位学校,但随之而来的问题也出现:由于网上有大量的游戏软件、图片、多媒体内容等,许多网民利用单位或学校的计算机,在网上大量下载这类东东,不仅使流量猛增,网费消耗,而且更容易使一些黄色内容肆意传播,虽然在IE浏览器中有一项可设为禁止下载,
看图之王ACDSee 6.0应用大全 数码人像照片矢量化及艺术处理
六天学会Visual Basic数据库编程 解析“震荡波”恶性蠕虫病毒
但只要稍懂一点计算机的人就可以再进入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了。当然还需要一个恢复修改的程序,否则连我们自已也不能下载文件和修改注册表了,通过上面的程序,相信你应该可以编写一个恢复修改的程序了吧,这里我就不再赘述了。

·"WAP天极之IT新闻资讯,50万元等你拿"    ·天极WAP之游戏狂图,50万元等你下载

天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容阅读排行榜
  • VB6.0应用程序界面设计探讨
  • VB中控件大小随窗体大小变化而变化
  • Visual Basic实现对I/O端口操作
  • 利用API函数实现图像淡入淡出
  • VB中操作目录的Winodws API小结
  • 改善电视卡接收效果三个诀窍
  • 液晶该不该使用屏保等问答6则
  • 自力更生维修4.1音箱实例
  • 发烧大餐 六千元游戏配置
  • 10.26精选 图画:葡萄小鸡图
  • 网络打印服务器选购攻略
  • 信不信集成显卡BIOS我也照刷
  • 李鬼哪里逃 处理器假货曝光
  • Advertisement

    天极无线
    待机彩图    >>更多
    多彩动画    >>更多
    美妙和弦    >>更多
    天使在唱歌
    壁虎漫步
    PrettyBoy
    LoveLoveLove
    我是你的小小狗
    单身情歌
    十面埋伏
    祝酒歌
    回心转意
    波斯猫
    太委屈
    S.H.E
    潘玮柏
    M2M
    蔡依林
    阿牛
    林志炫
    陈弈迅
    刀郎
    黑龙
    S.H.E
    陶晶莹
    情人玫瑰坊
    音乐风云
    新片速递
    神秘测试
    都市约会
    ·天极彩信天天精彩
    ·图铃梦工厂下载无限!
    ·找寻童真,卡通专题
    ·夏日激情交友社区!
    ·星座运程,预测人生

    CSEEK搜索