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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2014, 17:47   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
Вопрос Удалить папку при следующем запуске Windows

Доброго времени суток!
Есть задача: удалить указанную папку при следующем запуске Windows и только один раз. Как это сделать при помощи реестра?
Shouldercannon вне форума Ответить с цитированием
Старый 23.09.2014, 18:18   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

В реестре есть ветка RunOnce. Туда удалявку помещай - выполнится только раз.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.09.2014, 18:32   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Хорошо. А что туда в строковом параметре прописать, для удаления? Папка будет удалена вместе со всем содержимым?
Shouldercannon вне форума Ответить с цитированием
Старый 23.09.2014, 19:05   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
А что туда в строковом параметре прописать, для удаления? Папка будет удалена вместе со всем содержимым?
А вот, тренируйся.

Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 23.09.2014, 19:39   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А что туда в строковом параметре прописать, для удаления? Папка будет удалена вместе со всем содержимым?
А это уже что пропишешь то и сделает.
Если вот с del то прописать что-то
типа:
Код:
cmd /C del каталог /F /S /Q
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.09.2014, 20:01   #6
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Если правильно понял, то записываем сюда HKEY_LOCAL_MACHINE\Software\Microso ft\Windows\CurrentVersion\RunOnce
Shouldercannon вне форума Ответить с цитированием
Старый 23.09.2014, 20:06   #7
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

HKEY_CURRENT_USER\Software\Microsof t\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microso ft\Windows\CurrentVersion\RunOnce
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 23.09.2014, 20:15   #8
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Windows 7 Ultimate SP1 x64
Код:
procedure TFormMain.RemoveFolder;
var
  Registry: TRegistry;
begin
  Registry := TRegistry.Create;
  Registry.RootKey := HKEY_LOCAL_MACHINE;
  Registry.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce', True);
  Registry.WriteString('Test', 'MyRegistry Value');
  Registry.CloseKey;
  FreeAndNil(Registry);
end;
Запись появилась в
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432 Node\Microsoft\Windows\CurrentVersi on\RunOnce]
"Test"="MyRegistry Value"
Так и должно быть?
Shouldercannon вне форума Ответить с цитированием
Старый 23.09.2014, 20:19   #9
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Обязательно пихать в HKLM? HKCU недостаточно?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 23.09.2014, 20:46   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Shouldercannon Посмотреть сообщение
Windows 7 Ultimate SP1 x64
Код:
procedure TFormMain.RemoveFolder;
var
  Registry: TRegistry;
begin
  Registry := TRegistry.Create;
  Registry.RootKey := HKEY_LOCAL_MACHINE;
  Registry.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce', True);
  Registry.WriteString('Test', 'MyRegistry Value');
  Registry.CloseKey;
  FreeAndNil(Registry);
end;
Запись появилась в
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432 Node\Microsoft\Windows\CurrentVersi on\RunOnce]
"Test"="MyRegistry Value"
Так и должно быть?
да так и должно быть.
у вас 32 битное приложение.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать в Windows 7, чтоб не требовало при запуске Windows 7 нажимать на ярлык учётной записи? Kasper1 Windows 2 27.02.2011 02:34
При запуске Windows XP возникает проблема Jertyk Компьютерное железо 4 28.12.2009 17:38
Ошибка при запуске Windows XP Умелец Обсуждение статей 12 25.05.2007 15:01
Ошибка при запуске Windows XP Умелец Свободное общение 7 16.05.2007 12:27