質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Q&A

解決済

1回答

1465閲覧

WMI(拡張子vbs)によるレジストリキー削除

mercurian-teto

総合スコア75

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

0グッド

0クリップ

投稿2017/08/13 05:02

プログラムのリソースは以下のサイトです。
(hつけてください)ttp://www.wmifun.net/sample/stdregprov_f.html

vbScript

1Option Explicit 2 3'WMIにて使用する各種オブジェクトを定義・生成する。 4Dim oClass 5Dim oLocator 6Dim oService 7Dim lRet 8Const HKEY_LOCAL_MACHINE = &H80000002 9 10'ローカルコンピュータに接続する。 11Set oLocator = WScript.CreateObject("WbemScripting.SWbemLocator") 12Set oService = oLocator.ConnectServer(, "root\default") 13'クエリー条件を WQL にて指定する。 14Set oClass = oService.Get("StdRegProv") 15 16lRet = oClass.DeleteKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Toh\WMI") 17 18If lRet = 0 Then 19MsgBox "レジストリキーの削除に成功しました。" 20Else 21MsgBox "レジストリキーの削除に失敗しました。" 22End If 23 24'使用した各種オブジェクトを後片付けする。 25Set oClass = Nothing 26Set oService = Nothing 27Set oLocator = Nothing 28 29 30

今回削除しようとしているのは以下のサイトの
ソフトウェアのレジストリです。
ダウンロードして起動するとパスワードを作るように要求されますので
わかるようなパスワードに設定してください。
ダウンロードすると以下のように
ソフトウェアのレジストリが追加されます。
\HKEY_CURRENT_USER\Software\pasonemu.net
ここにあるレジストリを削除するプログラムを作ろうとしているのですが、

Const HKEY_LOCAL_MACHINE = &H80000002

Const HKEY_CURRENT_USER = &H80000002

lRet = oClass.DeleteKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Toh\WMI")

lRet = oClass.DeleteKey(HKEY_CURRENT_USER, "\Software\pasonemu.net")
と変更しましたが、

レジストリーキーの削除に失敗しましたとメッセージが出てきてしまいます。
上の二つでサンプルプログラムで違うレジストリに対して応用させて
レジストリーの削除は出てきていませんか。
ほかに値を変えるところがあるのでしょうか。
vbscriptは全く習ったことないので、回答お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Const HKEY_CURRENT_USER = &H80000002

タイプミスでしょうか?
HKEY_CURRENT_USER&H80000001ですよ。
もしくはプログラミングが全くはじめてと言うことでしょうか?変数名だけを変えてもプログラムの動作は変わりません。

あと、

(hつけてください)ttp://www.wmifun.net/sample/stdregprov_f.html

どういった理由でリンクにしたくないのか分かりませんが、このサイトではURLを書いただけで自動的にリンクになることはないので、hを省略するのは無意味です。

投稿2017/08/13 13:20

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mercurian-teto

2017/08/13 18:05

回答ありがとうございます。 プログラミングはfortranを学校の試験でやる程度しました。 Const HKEY_CURRENT_USER = &H80000001 と変更しましたが、依然、レジストリの削除に失敗と表示されます。 レジストリのアクセス制限は一切かかっていませんし(フルコントロールです)
otn

2017/08/14 04:07

そもそも、そのキーはないのでは?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問