![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Приветствую всех уважаемые форумчане!
Помогите реализовать следующую задачу: При нажатии на кнопку программа должна добавить в раздел "HKLM\Software\Microsoft\Windows\CurrentVersion\Ru nOnce" - ссылку на все ".reg" файлы которые найдет в папке "Tweaks" такого плана - "regedit.exe /s file1.reg" Я в программировании не силен, будьте добры помогите решить поставленную задачу. Заранее спасибо! |
|
#2
|
||||
|
||||
|
Так можно перебрать все *.reg-файлы в папке
Код:
var
SR: TSearchRec;
begin
if FindFirst('C:\Tweaks\', 32, SR) = 0 then
repeat
if ExtractFileExt(SR.Name) = '.reg' then
{ .....
SR.Name
.....}
until
FindNext(SR) <> 0;
FindClose(SR);
end; |
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Alloc (18.09.2014)
| ||
|
#3
|
||||
|
||||
|
Alegun, я конечно благодарен Вам за ответ, но вот свои предрассудки и нравоучения оставьте пожалуйста при себе.
Вот как сделал я, может кому пригодится: Код:
var
Registry: TRegistry;
tsr: tsearchrec;
WinDir : String;
begin
WinDir := GetEnvironmentVariable('WinDir');
Registry := TRegistry.Create;
Registry.RootKey := HKEY_LOCAL_MACHINE;
Registry.OpenKey('Software\Microsoft\Windows\CurrentVersion\RunOnce',False);
if FindFirst('I386\SVCPACK\TWEAKS\*.reg',faAnyFile,tsr) = 0 then
repeat
Registry.WriteString('Tweak_' + tsr.Name,WinDir+'\System32\Tweaks\'+tsr.Name);
until FindNext(tsr) <> 0;
Registry.CloseKey;
Registry.Free;
FindClose(tsr); |
|
#4
|
||||
|
||||
|
Оффтоп:
Цитата:
![]() Можно немного упростить, убрав из var и вызывая экземлярчик TRegistry динамически Код:
with TRegistry.Create do begin RootKey:= ... OpenKey( ... ... WriteString( ... ... CloseKey; Free; end; |
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Alloc (18.09.2014)
| ||
|
#5
|
||||
|
||||
|
Цитата:
да, действительно, так будет лучше, спасибо за подсказку. Задача решена. |