日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用vb对注册机进行编程

發(fā)布時(shí)間:2024/1/1 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用vb对注册机进行编程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

在VB中,可以用 SHELL 函數(shù)來執(zhí)行一個(gè)可執(zhí)行文件。而對注冊表的訪問可以方便地用 Regedit.exe 命令將它與一文本文件聯(lián)系進(jìn)來。這樣一來,我們無需掌握高深的API函數(shù),需編程對該文本文件進(jìn)行處理即可。

  首先,注冊表中各個(gè)主鍵和子鍵的鍵值,一般來說有以下幾種類型:

  ①REG_SZ(普通字符串)

  ②REG_EXPAND_SZ(可展開式字串)

  ③REG_BINARY(二進(jìn)制)

  ④REG_DWORD(長整數(shù)型,即十六進(jìn)制值)。

  他們在導(dǎo)出的注冊表文件中的表示形式不盡相同。具體實(shí)例請參見后文。

  其次,讓我們來熟悉一下Regedit命令的用法及有關(guān)參數(shù):

   REGEDIT filename1

   REGEDIT /E filename3 [regpath1]

   REGEDIT /D regpath2

   filename1 指定將要輸入到注冊表中的文件。

   /E filename3 指定注冊表的輸出文件名。

   regpath1 指定將要輸出的注冊表的鍵名(缺省為輸出整個(gè)注冊表)

   /D regpath2 指定將要?jiǎng)h除的注冊表的鍵名

  其中導(dǎo)出或?qū)氲奈募橐晃谋疚募8袷饺缦?#xff1a;(小括號(hào)內(nèi)為注釋,……表示此處有省略)

   REGEDIT4 (必須以此開頭,注意大小寫)

   HKEY_LOCAL_MACHINE\Software          @=""(@表示鍵值名為“默認(rèn)”,鍵值為空串)     …… ……

   [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion]

    "InstallType"=hex:03,00 (表示鍵名為"InstallType",鍵值為REG_BINARY(即二進(jìn)制)類型 03 00)     "DevicePath"="C:\WINDOWS\INF"     (鍵"DevicePath"是普通字符串,即 REG_SZ 類型。當(dāng)字符串中含有路徑“\”等特殊字符時(shí),約定      用“\”代替“\”,用“\n”和“"”來代替回車和 "字符)     …… ……

   [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\SetupX\Cert]

    "RG2CATDB Return"=dword:00000000(dword:表示該鍵值REG_DWORD(長整數(shù)型,即十六進(jìn)制值)

   [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\MS-DOSOptions\Smartdrv]

    …… ……

   "Autoexec.Bat"="LoadHigh %WINDIR%\SmartDrv"(含有一對%的字符串是可展開式字串,即REG_EXPAND_SZ類型,此處%WINDIR%表示W(wǎng)INDOWS的工作目錄)

  例如:可用以下代碼將指定的子鍵路徑[HKEY_LOCAL_MACHINE\Software]的默認(rèn)值修改為字符串:“此處值已修改!” stt = "HKEY_LOCAL_MACHINE" a = Shell("regedit /e c:\windows\temp\temp.txt " & stt) '導(dǎo)出要修改的注冊表分支 If a = 0 Then  MsgBox "導(dǎo)出錯(cuò)誤!": End '可能是子鍵名稱錯(cuò)誤  regpath = "[" + stt + "]"  Open "c:\windows\temp\temp.txt" For Input As #1  Open "c:\windows\temp\temp1.txt" For Output As #2  regwrite = flase '是否是要修改的行  Print #2, "REGEDIT4" '寫入文件頭,注意必須是大寫  Print #2, ""  Do   Line Input #1, aa$   b$ = aa$   If regwrite = True Then '說明此行是需要修改的行    b$ = "@=""默認(rèn)值已修改!"""    Print #2, b$    MsgBox "原來的值為:" & Mid$(aa$, 3) & "即將改為:" &     Mid$(b$, 3), vbOKOnly, "注冊表變化"   End If   If aa$ = regpath Then    Print #2, b$    regwrite = True    '說明下一行為所要修改的行,以便下次循環(huán)時(shí)對b$進(jìn)行修改   Else    regwrite = flase '不是要修改的行   End If   ' If Left(aa$, 2) <> "@=" And       b$ = "@=""默認(rèn)值已修改!""" Then     Print #2, aa$     '如果子鍵[HKEY_LOCAL_MACHINE\Software]中原來未設(shè)置默      認(rèn)值,此時(shí)相當(dāng)于在文件#1處插入b$。  Loop Until EOF(1)  Close  a = Shell("regedit c:\windows\temp\temp1.txt ")   '將修改后的內(nèi)容導(dǎo)入到注冊表中  If a = 0 Then MsgBox "修改失敗!": End

  按以上思路,我們可以很方便快捷地對注冊表進(jìn)行增、刪、改等操作,是不是很簡單?

轉(zhuǎn)載于:https://my.oschina.net/bigfool007139/blog/397286

總結(jié)

以上是生活随笔為你收集整理的使用vb对注册机进行编程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。