- WMI Fun !! -|WMI Step|WMI Sample|WMI Reference|WMI Library|Links|About WMI Fun !!
Home > WMI Sample > レジストリの値を読み込む
オトクなグルメ情報ならホットペッパー!、クーポン券をゲットしよう
PC関連新製品情報をゲットしたい方はキーマンズネットにアクセス!!
レジストリの値を読み込む: StdRegProv
Topics

レジストリの値を読み込むサンプルです。名前空間が「root\default」、クラスが「StdRegProv」になります。


Sample Code (VB6)

Private Sub Command1_Click()

Dim Reg As SWbemObject
Dim Locator As SWbemLocator
Dim Service As SWbemServices
Dim sRet As String
Dim lRet As Long
Dim bRet() As Variant
Dim TmpbRet As String
Dim I As Long

Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer(vbNullString, "root\default")
Set Reg = Service.Get("StdRegProv")

Const HKEY_LOCAL_MACHINE = &H80000002

'文字列値
Reg.GetStringValue HKEY_LOCAL_MACHINE, _
"SOFTWARE\Microsoft\Windows NT\CurrentVersion", "RegisteredOwner", sRet

'DWORD値
Reg.GetDWORDValue HKEY_LOCAL_MACHINE, _
"SOFTWARE\Microsoft\Windows NT\CurrentVersion", "InstallDate", lRet

'バイナリ値
Reg.GetBinaryValue HKEY_LOCAL_MACHINE, _
"SOFTWARE\Microsoft\Windows NT\CurrentVersion", "LicenseInfo", bRet

For I = 0 To Ubound(bRet)
TmpbRet = TmpbRet & Hex(bRet(i)) & " "
Next

MsgBox "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersionキーの" & _
"一部を読んだ結果です。" & vbCrLf & vbCrLf & _
"RegisteredOwner(文字列値):" & vbCrLf & sRet & vbCrLf & vbCrLf & _
"InstallDate(DWORD値)" & vbCrLf & lRet & vbCrLf & vbCrLf & _
"LicenseInfo(バイナリ値)" & vbCrLf & TmpbRet & vbCrLf & vbCrLf

Set Reg = Nothing
Set Service = Nothing
Set Locator = Nothing

End Sub


Comment

実行するとレジストリの値の読み込みを行います。参照先は「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion」です。StdRegProcクラスはWin32_&&&といったクラスとは違う名前空間に存在しているため、ConnectServerする際に名前空間が「root\default」を明示的に指定しています。
ここでは実際値を読み込む際多いと思われるものを例として書いてあります。文字列値・DWORD値・バイナリ値の3種類です。それぞれ違うメソッドが用意されていますが指定する引数は同じようなパターンです。
注意する点としては読み込みたいレジストリのパスを全て記述するわけではないというところです。パスの親ルートの名前と値の名前だけは別途指定する必要があります。親ルートを指定する型はLong形になるので事前に以下のような関連付けになっていることを意識しておくことが必要です。

・HKEY_CLASSES_ROOT = &H80000000
・HKEY_CURRENT_USER = &H80000001
・HKEY_LOCAL_MACHINE = &H80000002
・HKEY_USERS = &H80000003
・HKEY_CURRENT_CONFIG = &H80000005
・HKEY_DYN_DATA = &H80000006

もっと詳しいことはWMI SDKを見てみてください。

StdRegProv クラスに関連するサンプルは他に、

  • レジストリキーを作成する
  • レジストリのサブキーを列挙する
  • レジストリの値の名前と種類を列挙する
  • レジストリの値を書き込む
  • レジストリキーを削除する
  • レジストリの値を削除する
  • を紹介しています。
    なおWMIの使い方(VB6,VBS,VB.NET,VC#,PowerShell対象)に関してはWMI Stepも参考にしてみてください。


    Latest sample information

  • SQL Server 2008のインスタンス情報を取得する
  • SQL Server 2008のバージョンやその他プロパティ値を取得する
  • プロセッサ(CPU)の使用率を取得する
  • ネットワークアダプタにデフォルトゲートウェイアドレスを設定する
  • ネットワークアダプタにDNSアドレスを設定する

  • ご意見・ご感想をこちらのアンケートからお待ちしています
    解らないIT/パソコン用語はIT単語帳で調べてみては?登録無料で使えます

    - WMI Fun !! -
    http://www.wmifun.net/
    Microsoft社のテクノロジーであるWMI(Windows Management Instrumentation)の使い方を
    Visual Basicを使ってのんびり公開しています
    VBや.Net Framework(VB,C#)以外でもWSH(VBS)やPowerShellなどのスクリプトでも使えますよ!
    資産管理や監視業務の効率化、システム系ツール開発にお勧めです

    This web site created by Toh.
    Copyright(C) 1997-2010 WMI Fun !!. All rights reserved. このサイトへのリンクはフリーです
    ∧ ページの先頭へ…