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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2011, 15:05   #1
Azazel9024
Пользователь
 
Аватар для Azazel9024
 
Регистрация: 28.03.2011
Сообщений: 27
По умолчанию как удалить автозапуск из реестра?

всем привет,у меня вопрос: как удалить объект из автозапуска.

reg.OpenKey('SOFTWARE\Microsoft\Win dows\CurrentVersion\Policies\Explor er\Run',True);
reg.WriteString('название', 'путь');

а какой код будет,чтобы удалить этот параметр?
Тише едешь - дальше будешь ;]
Azazel9024 вне форума Ответить с цитированием
Старый 28.03.2011, 15:24   #2
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Цитата:
Erases a data value that is associated with the current key.

Pascal
function DeleteValue(const Name: string): Boolean;

Call DeleteValue to remove a specific data value associated with the current key. Name is string containing the name of the value to delete. Keys can contain multiple data values, and every value associated with a key has a unique name.

DeleteValue returns true if the deletion is successful, false if the deletion fails.
Вот так наприер
psycho-coder вне форума Ответить с цитированием
Старый 28.03.2011, 15:25   #3
novichok1
Пользователь
 
Регистрация: 22.01.2011
Сообщений: 25
По умолчанию

reg.DeleteValue('название');
novichok1 вне форума Ответить с цитированием
Старый 28.03.2011, 15:26   #4
novichok1
Пользователь
 
Регистрация: 22.01.2011
Сообщений: 25
По умолчанию

ответили уже до меня )))
novichok1 вне форума Ответить с цитированием
Старый 28.03.2011, 15:41   #5
tsar_
Форумчанин
 
Аватар для tsar_
 
Регистрация: 06.01.2011
Сообщений: 369
По умолчанию

Я не очень врубаюсь в правку реестра, но когда случилась потребность делать такое, полазил по инету и составил такую прогу для тестирования найденного:
Код:
unit Unit1;

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);            //создает значение
var reg: TRegistry;
begin
 Reg := nil;

 try
 reg := TRegistry.Create;
 reg.RootKey := HKEY_LOCAL_MACHINE;
 reg.LazyWrite := false;
 reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',false);
 reg.WriteString('My App', Application.ExeName);
 reg.CloseKey;
 reg.free;

 except
if Assigned(Reg) then Reg.Free;

end;
end;

procedure TForm1.Button2Click(Sender: TObject);               //удаляет значение
var reg: TRegistry;
begin
 Reg := nil;

 try
 reg := TRegistry.Create;
 reg.RootKey := HKEY_LOCAL_MACHINE;
 reg.LazyWrite := false;
 reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',false);
 reg.DeleteValue('My App');
 reg.CloseKey;
 reg.free;

 except
if Assigned(Reg) then Reg.Free;

end;
end;

end.
Поясню, что в моих силах: на форме этой проги две кнопки, по нажатию 1 открываем Автозапуск (Run) и пишем туда новое значение My App для данной программы (используем Application.ExeName). А удаляем значение нажатием кнопки 2 (командой DeleteValue('My App')).
Тестирование у меня прошло успешно (создание значения, автозапуск проги и удаление значения прошли корректно). Надеюсь, код поможет разобраться.

P.S. Так долго писал, что до меня ответили
Программирую по необходимости
tsar_ вне форума Ответить с цитированием
Старый 29.03.2011, 13:52   #6
Azazel9024
Пользователь
 
Аватар для Azazel9024
 
Регистрация: 28.03.2011
Сообщений: 27
По умолчанию

а код на удаление самого файла?
допустим,если он лежит в %systemroot%/windows/system32?
Тише едешь - дальше будешь ;]
Azazel9024 вне форума Ответить с цитированием
Старый 29.03.2011, 15:41   #7
tsar_
Форумчанин
 
Аватар для tsar_
 
Регистрация: 06.01.2011
Сообщений: 369
По умолчанию

Так тебе надо реестр править или файлы из папок удалять?
Читай:
http://www.delphiexpert.ru/view_lesson.php?id=9
Программирую по необходимости
tsar_ вне форума Ответить с цитированием
Старый 29.03.2011, 15:59   #8
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Цитата:
Сообщение от Azazel9024 Посмотреть сообщение
а код на удаление самого файла?
допустим,если он лежит в %systemroot%/windows/system32?
Код:
SysRoot: String;
Path: String;
begin
  SysRoot := getEnvironmentVariable('SYSTEMROOT');
  Path := SysRoot + '\\System32\\app.exe';
  if FileExists(Path) then
    DeleteFile(Path);
end;
Не?

P.S. Набирал сюда, поэтому могут быть ошибки
psycho-coder вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить ветку из реестра -=Virus=- Общие вопросы Delphi 3 28.05.2010 16:02
Как добавить в автозапуск? AngelOfDeath Win Api 4 19.05.2008 10:55
Как удалить из реестра? AngelOfDeath Общие вопросы Delphi 9 10.04.2008 18:09
как удалить анти вирус( касперский 2006)если она не работает и ее не возможно удалить Alar Общие вопросы Delphi 0 29.10.2006 21:36