|
안녕하세요. 제가 Regedit에
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mssmbios\Data
경로에 있는 BiosData의 값을 가져오려고 합니다. 그런데 Binary형이여서 ReadBinaryData 함수를 사용하였는데요.
실행하면 'Invalid data type for 'BiosData' 라는 에러창이 뜹니다...
뭐가 잘못된 것인가요?ㅜㅠ
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Main1.h"
#include <Registry.hpp>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMain *Main;
//---------------------------------------------------------------------------
__fastcall TMain::TMain(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall GetBiosData()
{
TRegistry *reg = new TRegistry();
unsigned char BD[16];
AnsiString s;
int i;
reg->RootKey = HKEY_LOCAL_MACHINE;
reg->OpenKey("SYSTEM\\CurrentControlSet\\services\\mssmbios\\Data",false);
reg->ReadBinaryData("BiosData",BD,sizeof(BD));
for(i = 0; i < 16; i++)
{
s.sprintf("%x",BD[i]);
Main->Memo1->Lines->Add(s);
}
reg->CloseKey();
delete reg;
}
void __fastcall TMain::Button1Click(TObject *Sender)
{
GetBiosData();
}
//---------------------------------------------------------------------------
|