|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Присвоить получаемые значения с реестра в memo
Всем добрый день!
Помогите реализовать задуманное, необходимо присвоить получаемые значения с реестра в memo. необходимо не считывать с созданного файла информацию а получить ее сразу в memo по нажатию на кнопку. вот исходный код: Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Registry; type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; Label1: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} const WinVers = 'Software\Microsoft\Windows\CurrentVersion'; function WinInfo(Root_Key: HKEY; Key_Open, Key_Read: string): string; var registry: TRegistry; begin //если Windows NT, открываем другой ключ if ((GetVersion and $80000000)=0) and (Key_Open=WinVers) then Key_Open:='SOFTWARE\Microsoft\Windows NT\CurrentVersion'; Registry := TRegistry.Create; try Registry.RootKey := Root_Key; Registry.OpenKey(Key_Open, False); Result := Registry.ReadString(Key_Read); finally Registry.Free; end; //если ничего не найдено, выводим "невозможно определить" if Result<>EmptyStr then Result:=Key_read+': '+Result else Result:=Key_read+': невозможно определить'; end; procedure TForm1.Button1Click(Sender: TObject); var F: textfile; //файл с логом begin AssignFile(F,'Информация о системе.txt'); //Соединямся с файлом лога ReWrite(F); //Переходим в начало файла //пользователь, версия ОС и т.д. WriteLn(F,' О Системе:'); WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'RegisteredOwner')); WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'RegisteredOrganization')); WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'ProductID')); WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'ProductKey')); WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'ProductName')); WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'Version')); WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'VersionNumber')); CloseFile(F); end; end. Последний раз редактировалось Daniil, 30.07.2014 в 10:15. |