tarのブログるっ

メガネ男子のtarが書くブログです。

レジストリの取得がうまくいかないのはなぜ??

Win32 APIを使ってレジストリから、コンピュータ名を取得するロジックを用いた際に、なぜかRegQueryValueExでうまく取得できなかったことがあります。

動作環境はWindows2000、取得するレジストリは次のとおりです。

サブキー:"SYSTEM\ControlSet001\Control\ComputerName\ActiveComputerName"

データを取得する値名:"ComputerName"

使用しているAPIは以下のとおり。

レジストリのサブキーをオープンするAPI

Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (Byval hKey As Long, Byval lpSubKey As String, Byval ulOptions As Long, Byval samDesired As Long, phkResult As Long) As Long

レジストリの値を取得する:

Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (Byval hkey As Long, Byval lpszValueName As String, Byval dwReserved As Long, lpdwType As Long, lpbData As Any, cbData As Long) As Long

レジストリのサブキーをクローズする:

Declare Function RegCloseKey Lib "advapi32.dll" (Byval hKey As Long) As Long

なぜなんだろう??まだまだ修行が足らないようですね(^^;

  • このエントリーをはてなブックマークに追加