本ページには広告が含まれています。
目次 [非表示]
- 1 プログラム実行例
- 1.1 オフライン作業取得
- 1.2 レジストリからGoogle Chromeの実行ファイルのパスを取得
- 1.3 レジストリからInternet Explorerの実行ファイルのパスを取得
- 1.4 レジストリからFirefoxの実行ファイルのパスを取得
- 1.5 レジストリからMicrosoft Edgeの実行ファイルのパスを取得
- 1.6 レジストリでInternet Explorerのバージョンを取得する
- 1.7 インストールされている.NET Frameworkのバージョンを確認する
- 1.8 UWSCをインストールした日付を取得
- 1.9 既定のブラウザをレジストリから取得
- 1.10 既定のメーラーをレジストリから取得
- 1.11 週最初の曜日を取得
- 1.12 レジストリから現在設定されているタイムゾーンを取得
- 2 戻り値
- 3 ルートキー名と短縮形
レジストリ内のキー名または値名の値を返します。
HKEY_CURRENT_USER以外を指定した場合、管理者権限が必要となります。権限が与えられていない場合はエラーとなります。
(既定)の値を取得する場合は、パス(strName)の最後に\を付けます。
- 構文
- WshShell.RegRead( strName )
- 引数
- strName 省略可
- 読み取るキーまたは値の名前
- 戻り値
プログラム実行例
オフライン作業取得
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の実行ファイルのパスを取得
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の実行ファイルのパスを取得
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の実行ファイルのパスを取得
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の実行ファイルのパスを取得
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のバージョンを取得する

DIM WshShell = CREATEOLEOBJ("WScript.Shell") PRINT WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\svcVersion")
結果
11.789.19041.0
使用関数
インストールされている.NET Frameworkのバージョンを確認する
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形式で取得します。
DIM WshShell = CREATEOLEOBJ("WScript.Shell") PRINT WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\UWSC Pro_is1\InstallDate")
結果
20231113
使用関数
既定のブラウザをレジストリから取得
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
使用関数
既定のメーラーをレジストリから取得
DIM WshShell = CREATEOLEOBJ("WScript.Shell") PRINT WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\")
結果
Microsoft Outlook
使用関数
週最初の曜日を取得
コントロール パネル\時計と地域\地域の日付と時刻の形式にある週の最初の曜日の項目を取得します。レジストリのiFirstDayOfWeekが返す値は0が月曜日、1が火曜日、…、6が日曜日のようになります。

DIM WshShell = CREATEOLEOBJ("WScript.Shell") DIM firstdayofweek = WshShell.RegRead("HKEY_CURRENT_USER\Control Panel\International\iFirstDayOfWeek") DIM weeks[] = "月", "火", "水", "木", "金", "土", "日" PRINT firstdayofweek PRINT weeks[firstdayofweek]
結果
6 日
使用関数
レジストリから現在設定されているタイムゾーンを取得
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 |