不用API,也能玩注册表--vb !(downmoon原创)[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 downmoon 的 blog

不用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 表示键的类型,为缺省值。

本文关键:api vb 注册表
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top