• ベストアンサー

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

  • レジストリキーの削除

    よろしくお願いします。 レジストリの掃除でフリーソフト「EasyCleaner」で検出された不要なレジストリの削除を指示してもいくつか(22)残って削除できません。レジストリエディタで追跡すると存在します。ここでもエラーが出て削除できません。 レジストリのアクセスの所有者なども変更しましたができません。 ちなみに例えばこんなキーです。 「HKEY_LOCAL_MACHINE Software\Classes\TypeLib\{5F099F16-6A6E-4BBC-8BD8-98F3221D58C4}\1.0\0\win64」 何が原因でしょうか又削除する方法があれば教えて下さい。 レジストリはバックアップして試行しています。 又このソフトはXPまでの対応ですが害がなく気に入っているので使っています。 CCleanerも使っていますがこちらには検出されません。

  • VisualBasic.NETについて。

    VisualBasic.NETを勉強する必要があるのですが、どうしてよいかわかりません。VisualBasic.NETについて一応自分でも調べてみたのですが、やはりわかりませんでしたので質問させていただきました。 最近書籍を購入し、さっそく勉強を始ました。すると本の冒頭には「VisualBasic.NETを起動すると~」とあるのですが、どう起動させるのかがわかりません。そもそもなにかをインストールして環境を整える、などをしなくてもできるものなのでしょうか。 ということでど素人なのですが、VB.NETをはじめるにはどうしたらよいか、助言をお願いします。

  • あるレジストリキーの削除に関して

    先日、知人が私のPCのUSB端子でスマートフォンを充電しようとし、 ケーブルを挿したところ、何かがインストールされました。 その何かの名前でレジストリを検索してみたところ、 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB\VID_04E8&PID_6860 で名前が見付かりましたので、 上記キーを削除しようとしたところ、エラーが出て削除できません。 アクセス許可・所有者等が絡んでるようなのですが、操作方法がよくわからず困っています。 どうすればこのキーを削除できるのでしょうか。 よろしくお願いします。

  • VBにて特定のレジストリキーの削除について

    PC起動時に特定のキー以下すべてを削除するツールを検討しています。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_****&PID_**** が目的のキーです(当然ですが****には特定の値が書き込まれています)。 同一メーカのUSB機器を検査するためにとっかえひっかえ接続することでプロダクトID別のSUBキーが 作成されます。 いずれSUBキーが膨大になってしまうことを回避するための予防策と考えています。 環境はVB 2008EE です。 OpenSubKeyもしくはCreateSubKeyにて開けばよいことはわかりましたが SecurityExceptionが発生して開くことができません。 HKEY_LOCAL_MACHINE\SYSTEM\ は問題なく開くことができています。 VB6+API関数で実行しても同様の結果となるので VB側ではなくむしろレジストリ(Windows側)の制約なのでしょうか。 何か良い手立てはあるのでしょうか。 また、「わざわざ作らなくても、これがあるよ」という情報も歓迎しています。 諸先輩方、お力をお貸しください。

  • ウィルスバスター2006のレジストリキーを教えてください。

    質問No.2389423で質問したものですが、 回答者の方たちのアドバイスにしたがって いろいろやってみたのですが、うまくいきません。 それで、最後の手段として、レジストリから VB2006の関連ファイルを直接削除してみたいのですが、 VB2006のレジストリキーがわかりませんので、 教えてください。

  • VB6のすべての関数など網羅された辞書みたいな本はありますか?

    あらためてVisualBasic6を使うことになり、 例えばCByteなど、VB6のすべての関数など網羅された 辞書みたいな本を探しているのですが、お勧めのものがありましたら、教えてください。 あと、辞書ではなくVB6の良書も知りたいです。

  • レジストリキー名を変更したい

    プログラムでレジストリのキー名を変更したいと考えています。 Win32API を探してみたのですが、キーの追加と削除しか見つけられませんでした。 キー名の変更は、以下の手順しかないのでしょうか? 1) 新しいキーを作成する 2) 新しいキーに、元のデータをコピーしていく。 3) 元のキーとデータを削除する もっと便利な方法をご存知の方、いらっしゃいましたら教えてください。 よろしくお願いします。

  • VisualBasicを使用してのデータ更新方法についてお教えください

    VisualBasicをはじめたばかりの初心者です。 よろしくお願いいたします。 VisualBasicでは、データの更新(登録・修正・削除)を行う際、メゾッドを利用 してデータの更新を行う方法と、SQLを発行してデータの更新を行う方法があるこ とを書籍により知りましたが、具体的にどのように使い分ければいいのかよく理解できません。 皆さんは、どのような方法データの更新を行っているのでしょうか? 使い分けのポイント等があればお教えください。 よろしくお願いいたします。

  • ADW BORAN.AMのレジストリキーの削除方法

    ADW BORAN.AMというのがウィルスバスターでスパイウェアとして認識されます。 その削除方法を見ると、「レジストリキーを削除する」という説明があるのですが、該当するレジストリを削除しようとするとレジストリエディタがフリーズしてしまい、削除できません。 どのようにすればよろしいのかどなたか教えてください。

  • APIの書籍について

    こんにちは、VB6を使用しています。今度APIを覚えようと思っていますが、おすすめの書籍がありましたら教えてください。できるだけやさしく丁寧に書かれているものを希望しています。よろしくお願いします。これなら初心者(APIの)向けだよというのがあれば是非お願いします。

専門家に質問してみよう