本ページには広告が含まれています。
目次
- 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 |