Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2013, 12:10   #1
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию Скопировать весь реестр в memo1

Здравствуйте, я бы хотел спросит, как можно скопировать все что записано в реестре к себе в программу в memo1?
можно как нибудь это сделать? если да то как? можно не в memo1 куда нить в другой место но я хотел бы прочесть весь реестр) Заранее спасибо) Если есть ссылка к уроку был бы рад прочесть...
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 06.12.2013, 12:47   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Можно. Изучай класс TRegistry. Примеры в инете есть, но я за них не отвечаю.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.12.2013, 12:47   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Используя TRegistry перебрать все кусты и засунуть куда-угодно.
Человек_Борща вне форума Ответить с цитированием
Старый 06.12.2013, 16:02   #4
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Спасиб канечно но я только научился прописывать в реестр и удалять) а вот чтобы взять и все скопировать в мемо не пробовал) может кто нить чиркнет? или пример подскажет?
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 06.12.2013, 18:43   #5
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Например так:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ShellAPI;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  function WinExecAndWait32(FileName: String; Visibility: integer): integer;

implementation

{$R *.dfm}

function WinExecAndWait32(FileName: String; Visibility: integer): integer;
var
  zAppName: array [0 .. 512] of char;
  zCurDir: array [0 .. 255] of char;
  WorkDir: String;
  StartupInfo: TStartupInfo;
  ProcessInfo: TProcessInformation;
begin
  StrPCopy(zAppName, FileName);
  GetDir(0, WorkDir);
  StrPCopy(zCurDir, WorkDir);
  FillChar(StartupInfo, Sizeof(StartupInfo), #0);
  StartupInfo.cb := Sizeof(StartupInfo);

  StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
  StartupInfo.wShowWindow := Visibility;
  if not CreateProcess(nil, zAppName, { указатель командной строки }
    nil, { указатель на процесс атрибутов безопасности }
    nil, { указатель на поток атрибутов безопасности }
    false, { флаг родительского обработчика }
    CREATE_NEW_CONSOLE or { флаг создания }
    NORMAL_PRIORITY_CLASS, nil, { указатель на новую среду процесса }
    nil, { указатель на имя текущей директории }
    StartupInfo, { указатель на STARTUPINFO }
    ProcessInfo) then
    Result := -1 { указатель на PROCESS_INF }
  else
  begin
    WaitforSingleObject(ProcessInfo.hProcess, INFINITE);
    GetExitCodeProcess(ProcessInfo.hProcess, Cardinal(Result));
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Button1.Enabled := false;
  try
 // ShellExecute(0, nil, 'regedit', '/e C:\TempReg.txt HKEY_CURRENT_USER\', nil, SW_NORMAL);
 WinExecAndWait32('regedit /e C:\TempReg.txt HKEY_CURRENT_USER\', SW_NORMAL);
 if FileExists('C:\TempReg.txt') then
   Memo1.Lines.LoadFromFile('C:\TempReg.txt');
  finally
 Button1.Enabled := True;
  end;
end;

end.
Alter вне форума Ответить с цитированием
Старый 06.12.2013, 19:52   #6
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Alter Посмотреть сообщение
Например так:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ShellAPI;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  function WinExecAndWait32(FileName: String; Visibility: integer): integer;

implementation

{$R *.dfm}

function WinExecAndWait32(FileName: String; Visibility: integer): integer;
var
  zAppName: array [0 .. 512] of char;
  zCurDir: array [0 .. 255] of char;
  WorkDir: String;
  StartupInfo: TStartupInfo;
  ProcessInfo: TProcessInformation;
begin
  StrPCopy(zAppName, FileName);
  GetDir(0, WorkDir);
  StrPCopy(zCurDir, WorkDir);
  FillChar(StartupInfo, Sizeof(StartupInfo), #0);
  StartupInfo.cb := Sizeof(StartupInfo);

  StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
  StartupInfo.wShowWindow := Visibility;
  if not CreateProcess(nil, zAppName, { указатель командной строки }
    nil, { указатель на процесс атрибутов безопасности }
    nil, { указатель на поток атрибутов безопасности }
    false, { флаг родительского обработчика }
    CREATE_NEW_CONSOLE or { флаг создания }
    NORMAL_PRIORITY_CLASS, nil, { указатель на новую среду процесса }
    nil, { указатель на имя текущей директории }
    StartupInfo, { указатель на STARTUPINFO }
    ProcessInfo) then
    Result := -1 { указатель на PROCESS_INF }
  else
  begin
    WaitforSingleObject(ProcessInfo.hProcess, INFINITE);
    GetExitCodeProcess(ProcessInfo.hProcess, Cardinal(Result));
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Button1.Enabled := false;
  try
 // ShellExecute(0, nil, 'regedit', '/e C:\TempReg.txt HKEY_CURRENT_USER\', nil, SW_NORMAL);
 WinExecAndWait32('regedit /e C:\TempReg.txt HKEY_CURRENT_USER\', SW_NORMAL);
 if FileExists('C:\TempReg.txt') then
   Memo1.Lines.LoadFromFile('C:\TempReg.txt');
  finally
 Button1.Enabled := True;
  end;
end;

end.

Вот что вышло в итоге=)

99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 06.12.2013, 22:30   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Вот что вышло в итоге=)
Это потому что ты даже не попытался в коде разобраться )
Это альтернативный вариант. Используй TRegistry.
http://delphiworld.narod.ru/base/registry_browser.html
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.12.2013, 01:31   #8
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Это потому что ты даже не попытался в коде разобраться )
Это альтернативный вариант. Используй TRegistry.
http://delphiworld.narod.ru/base/registry_browser.html
Спасиб Добрый человек, правда я чуток прошел по исходнику мало что понял и сразу сюды)

Что это еще за ошыпка?=)

Я просто хотел + Добавить) Другому добавил а вам не идет..... Это ни есть хорошо....


И это кстати тоже не то=) Надо что нить такое быстрое и чтоб я потом смог его прочесть желательно весь реестр в мемо, для себя хочу кое что проверить...
99% ошибок компьютера сидит в полуметре от монитора.

Последний раз редактировалось Fahman; 07.12.2013 в 01:43.
Fahman вне форума Ответить с цитированием
Старый 07.12.2013, 18:01   #9
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

У меня
Вложения
Тип файла: rar Project1.rar (298.0 Кб, 4 просмотров)
Alter вне форума Ответить с цитированием
Старый 07.12.2013, 20:21   #10
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Alter

Чет не то помоему....
У вас какая версия Windows? мне надо 1 код который сможет скопировать весь реестр (не важно какая версия винды) в memo1=)
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как скопировать функцию эксель на весь столбец? Bendebej Microsoft Office Excel 2 08.06.2015 21:28
как скопировать весь сайт включая все что подключается в js goluzov HTML и CSS 3 17.11.2011 18:14
как в Delphi скопировать весь текст от нужного символа до конца строки ?? Skeptic Общие вопросы Delphi 4 10.10.2011 22:36
[Сохранение параметров в реестр] Как сохранить параметры цвета в реестр. ZARO Общие вопросы Delphi 3 12.03.2010 21:24
Переписать весь массив mas в memo1. newprog12 Общие вопросы Delphi 2 23.01.2010 15:20