不用api,也能玩注册表--vb !(downmoon原创)
补充: 需新建四个command ,
名称依次为
write_reg
read_reg
del_reg
reg_run
对应caption为:
建立新键
读取注册表
删除新键
启动自运行
ok!
代码如下:
'****************************************************
'请务必引用 “windows script host object model" lib
'
'****************************************************
'
'****************************************************
' note:
'
'需引用“windows script host object model" lib
'"hklm" 指 "hkey_local_machine"
'"hkcu" 指 "hkey_current_user"
'其它几个注册表主键依次类推,但必须大写
'适用于vb 6 简体中文版
'可以读出瑞星的安装id
'
'******************************************************
' by downmoon
'
' qq: 23409408
'
' 1000sun@163.com
'
' 2003-2-16
'
'*****************************************************
option explicit
dim mynumber as integer
private reg
private sub del_reg_click()
dim cancel as integer
dim mydelete as string
if msgbox("are u sure to delete" & vbtab & "hklm\software\rising\rav\myrising" & vbtab & "?", vbyesno, "确认前先保存注册表!!!") = vbno then
cancel = true
else
mydelete = reg.regdelete("hklm\software\rising\rav\myrising")
msgbox " already deleted!!!!" & vbtab & chr(13) & "hklm\software\rising\rav\myrising==== d:\rising\rav\rav.exe"
end if
end sub
private sub form_load()
mynumber = 0
set reg = new iwshshell_class
end sub
private sub form_unload(cancel as integer)
ilovedownmoon.caption = "再见"
if ilovedownmoon.windowstate <> 1 then
dim i as long
for i = 50 to ilovedownmoon.height
if ilovedownmoon.height > 400 then
ilovedownmoon.height = ilovedownmoon.height - 30
end if
next i
for i = 50 to ilovedownmoon.width
if ilovedownmoon.width > 500 then
ilovedownmoon.width = ilovedownmoon.width - 30
end if
next i
end if
end
end sub
private sub read_reg_click()
msgbox ("^_^! your rising id is :" & chr(13) & chr(13) & chr(13) & vbtab & reg.regread("hklm\software\rising\rav\netid") & chr(13) & chr(13) & chr(13) & chr(13) & vbtab & "ok?")
end sub
private sub reg_run_click()
on error resume next
dim myrun as string
dim mynorun as string
if mynumber \ 2 = 0 then
myrun = reg.regwrite("hklm\software\microsoft\windows\currentversion\run\cdplayer", "c:\winnt\system32\cdplayer.exe", "reg_sz")
msgbox (chr(13) & vbtab & "added " & chr(13) & vbtab & vbtab & "c:\winnt\system32\cdplayer.exe" & chr(13) & vbtab & "into autorun!")
reg_run.caption = "取消自运行"
'测试
'label1.caption = mynumber
goto num
else
mynorun = reg.regdelete("hklm\software\microsoft\windows\currentversion\run\cdplayer")
msgbox (chr(13) & vbtab & "deleted " & chr(13) & vbtab & vbtab & "c:\winnt\system32\cdplayer.exe" & chr(13) & vbtab & "out of autorun!")
reg_run.caption = "启动自运行"
'测试
'label1.caption = mynumber
goto num
end if
num:
mynumber = mynumber + 1
end sub
private sub write_reg_click()
dim cancel as integer
dim mytest as string
if msgbox("really write" & vbtab & "hklm\software\rising\rav\myrising" & vbtab & "?", vbyesno, "确认前先保存注册表!!!") = vbno then
cancel = true
else
mytest = reg.regwrite("hklm\software\rising\rav\myrising", "d:\rising\rav\rav.exe", "reg_sz")
'reg_sz 表示键的类型,为缺省值。