• ベストアンサー

VisualBasicでレジストリキーの削除や作成などおこなう。

VisualBasicでレジストリの削除を行うためにAPIを使いたいのですが、 VBで宣言するためのAPIがわかりません。 結構危険だと思うので、詳しく調べてから行おうと考えております。 書籍はレジストリだけでなく、VBで使うAPIの宣言方法を網羅した分厚くても良いので 詳しく書かれているものを探しているのですが、何かお薦めはあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

APIとか使わなくても、ActiveXを利用してできます。 サンプル Sub test() Dim shObj, data Set shObj = CreateObject("WScript.Shell") shObj.RegWrite "HKCU\Software\BLUEPIXY\SampleProgram\UserName", "BLUEPIXY", "REG_SZ" shObj.RegWrite "HKCU\Software\BLUEPIXY\SampleProgram\x", 1024, "REG_DWORD" shObj.RegWrite "HKCU\Software\BLUEPIXY\SampleProgram\y", 512, "REG_DWORD" data = shObj.RegRead("HKCU\Software\BLUEPIXY\SampleProgram\UserName") MsgBox data data = shObj.RegRead("HKCU\Software\BLUEPIXY\SampleProgram\x") MsgBox data shObj.RegDelete "HKCU\Software\BLUEPIXY\SampleProgram\y" shObj.RegDelete "HKCU\Software\BLUEPIXY\SampleProgram\" 'SampleProgramというkeyごと削除 shObj.RegDelete "HKCU\Software\BLUEPIXY\" '同じく End Sub HKCU は、HKEY_CURRENT_USERの省略形 使用できるデータタイプ REG_SZ(文字列) REG_DWORD(32ビット整数) REG_BINARY(任意の長さのバイナリ) REG_EXPAND_SZ(展開前の環境変数) VBScriptのドキュメントは、参考URLからダウンロードできます。 あと、当然ですが、レジストリの名前については他の名前とダブったりしないように気をつけて!

参考URL:
http://www.microsoft.com/japan/msdn/scripting/default.asp

その他の回答 (1)

noname#21649
noname#21649
回答No.2

RegOpenKeyEx RegQueryValueExstr RegCloseKey あたりで検索すれば10箇所くらいヒットするはずなので.そちらを参照。 手持ちは オーむ社, Visual Basic Tips 1001, ISBN 4-274-06247-3 c3000 \6300E 技術評論社 Visual Basic6.0 300の技 ISBN 4-7741-1166-X C3055 同 Visual Basic Net 300の技ネットワーク+データベース  ISBN 4-7741-2023-5 c3055 \3280E 工学者 Win32 API ISBN 4-87593-439-4 C3055 \1900E 他に5冊くらいあったはずですが子供が持ち歩いているようです。

関連するQ&A