RegRead

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

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

構文
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
    (1,13) (5,8) (11) (11) (14) (15)
  1. IE.Quit(20)
結果
オフライン作業は利用できません

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

DIM WshShell = CREATEOLEOBJ("WScript.Shell")
PRINT WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\svcVersion")
    (2)
結果
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
    (1) (2)
  1. PRINT([6,8,10,12,14,16,18,20,22,24])

戻値

説明 形式
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