program Project207; (*$WARNINGS OFF*) {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, Registry, Windows; // return a the string data type of a registry value function GetRegDataType(const strRegPath, strRegValue: string): string; var s: string; objRegistry: TRegistry; begin try // creates the registru manager object objRegistry := TRegistry.Create; objRegistry.RootKey := HKEY_LOCAL_MACHINE; objRegistry.Access := KEY_ALL_ACCESS or KEY_WOW64_64KEY; // opens the specified key if exists if objRegistry.OpenKey(strRegPath, false) then begin case objRegistry.GetDataType(strRegValue) of rdUnknown: s := 'Unknown'; rdString: s := 'String'; rdExpandString: s := 'ExpandString'; rdInteger: s := 'Inteiro'; rdBinary: s := 'Binrio'; end; end else s := '(Can''''t get data type)'; finally // destroys the registry manager object objRegistry.Free; end; // set the return result := s; end; begin try { TODO -oUser -cConsole メイン : ここにコードを記述してください } Writeln(GetRegDataType('SOFTWARE\Microsoft\Windows\CurrentVersion\Run', 'SecurityHealth')); Readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.