WshShell.RegRead メソッド

本ページには広告が含まれています。

レジストリ内のキー名または値名の値を返します。

HKEY_CURRENT_USER以外を指定した場合、管理者権限が必要となります。権限が与えられていない場合はエラーとなります。

(既定)の値を取得する場合は、パス(strName)の最後に\を付けます。

構文
WshShell.RegRead( strName )
引数
strName 省略可
読み取るキーまたは値の名前
戻り値

プログラム実行例

オフライン作業取得

UWSC
DIM WshShell = CREATEOLEOBJ("WScript.Shell")
TRY
// Ver11以上
DIM version = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\svcVersion")
EXCEPT
// Ver10以下
version = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Version")
ENDTRY
IFB VAL(TOKEN(".", version)) <= 10 THEN
// Ver10以下
DIM IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.Visible = TRUE
IFB IE.Offilne = TRUE THEN
PRINT "オフライン作業中です"
ELSE
PRINT "オフライン作業中ではありません"
ENDIF
IE.Quit
ELSE
// Ver11以上
PRINT "オフライン作業は利用できません"
ENDIF
結果
プレーンテキスト
オフライン作業は利用できません
使用関数

レジストリからGoogle Chromeの実行ファイルのパスを取得

UWSC
DIM WshShell = CREATEOLEOBJ("WScript.Shell")
PRINT WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe\")
結果
プレーンテキスト
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
使用関数

レジストリからInternet Explorerの実行ファイルのパスを取得

UWSC
DIM WshShell = CREATEOLEOBJ("WScript.Shell")
PRINT WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE\")
結果
プレーンテキスト
C:\Program Files\Internet Explorer\IEXPLORE.EXE
使用関数

レジストリからFirefoxの実行ファイルのパスを取得

UWSC
DIM WshShell = CREATEOLEOBJ("WScript.Shell")
PRINT WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe\")
結果
プレーンテキスト
C:\Program Files\Mozilla Firefox\firefox.exe
使用関数

レジストリからMicrosoft Edgeの実行ファイルのパスを取得

UWSC
DIM WshShell = CREATEOLEOBJ("WScript.Shell")
PRINT WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\msedge.exe\")
結果
プレーンテキスト
C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
使用関数
解説

レジストリでInternet Explorerのバージョンを取得する

_IEバージョン.png
UWSC
DIM WshShell = CREATEOLEOBJ("WScript.Shell")
PRINT WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\svcVersion")
結果
プレーンテキスト
11.789.19041.0
使用関数

インストールされている.NET Frameworkのバージョンを確認する

UWSC
DIM WshShell = CREATEOLEOBJ("WScript.Shell")
DIM n = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\Release")
SELECT TRUE
CASE n >= 528040
PRINT "4.8"
CASE n >= 461808
PRINT "4.7.2"
CASE n >= 461308
PRINT "4.7.1"
CASE n >= 460798
PRINT "4.7"
CASE n >= 394802
PRINT "4.6.2"
CASE n >= 394254
PRINT "4.6.1"
CASE n >= 393295
PRINT "4.6"
CASE n >= 379893
PRINT "4.5.2"
CASE n >= 378675
PRINT "4.5.1"
CASE n >= 378389
PRINT "4.5"
SELEND
使用関数

UWSCをインストールした日付を取得

UWSCをインストールした日付をyyyymmdd形式で取得します。

UWSC
DIM WshShell = CREATEOLEOBJ("WScript.Shell")
PRINT WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\UWSC Pro_is1\InstallDate")
結果
プレーンテキスト
20231113
使用関数

既定のブラウザをレジストリから取得

UWSC
DIM WshShell = CREATEOLEOBJ("WScript.Shell")
DIM browser = WshShell.RegRead("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice\ProgId")
IFB browser = "MSEdgeHTM" THEN
PRINT "Microsoft Edge"
ELSEIF browser = "ChromeHTML" THEN
PRINT "Google Chrome"
ELSEIF browser = "IE.HTTP" THEN
PRINT "Internet Explorer"
ELSEIF POS("FirefoxURL-", browser) THEN
PRINT "Firefox"
ELSE
PRINT browser
ENDIF
使用関数

既定のメーラーをレジストリから取得

UWSC
DIM WshShell = CREATEOLEOBJ("WScript.Shell")
PRINT WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\")
結果
プレーンテキスト
Microsoft Outlook
使用関数

週最初の曜日を取得

コントロール パネル\時計と地域\地域日付と時刻の形式にある週の最初の曜日の項目を取得します。レジストリのiFirstDayOfWeekが返す値は0が月曜日、1が火曜日、…、6が日曜日のようになります。

.png
UWSC
DIM WshShell = CREATEOLEOBJ("WScript.Shell")
DIM firstdayofweek = WshShell.RegRead("HKEY_CURRENT_USER\Control Panel\International\iFirstDayOfWeek")
DIM weeks[] = "月", "火", "水", "木", "金", "土", "日"
PRINT firstdayofweek
PRINT weeks[firstdayofweek]
結果
プレーンテキスト
6
使用関数

レジストリから現在設定されているタイムゾーンを取得

UWSC
DIM WshShell = CREATEOLEOBJ("WScript.Shell")
DIM TimeZoneKeyName = WshShell.RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\TimeZoneKeyName")
PRINT WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\" + TimeZoneKeyName + "\Display")
結果
プレーンテキスト
(UTC+09:00) 大阪、札幌、東京
使用関数

戻り値

説明 形式
REG_SZ 文字列 文字列
REG_DWORD 数値 整数
REG_BINARY 2 進数の値 VBArray (整数)
REG_EXPAND_SZ 展開可能な文字列 文字列
REG_MULTI_SZ 文字列の配列 VBArray (文字列)

ルートキー名と短縮形

RegReadではルートキー名の省略形を使うことができます。

ルートキー名 短縮形
HKEY_CURRENT_USER HKCU
HKEY_LOCAL_MACHINE HKLM
HKEY_CLASSES_ROOT HKCR
HKEY_USERS HKEY_USERS
HKEY_CURRENT_CONFIG HKEY_CURRENT_CONFIG