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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2010, 07:59   #1
docbrain
Заблокирован
 
Регистрация: 14.01.2010
Сообщений: 306
По умолчанию Как удалить ярлык из папки "Автозагрузка"?

Доброе время суток.
У меня возник один вопрос относительно программирования в Delphi, помогите мне его решить.
Меня интересует как можно в Delphi удалить ярлык из папки "Автозагрузка". Я пробовал использовать команду DeleteFile, с указанием подробного пути к ярлыку, но это не сработало (вообще Windows сильно ограничивает работу с вышеупомянутой папкой). Я пробовал искать решение данной проблемы в Интернете, но ничего не нашел, что и заставило меня обратиться к вам.

Заранее с благодарностью и уважением,

доктор Брейн.
docbrain вне форума Ответить с цитированием
Старый 14.01.2010, 08:14   #2
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,457
По умолчанию

Вот:

uses Registry;

Код:
procedure TForm1.btn1Click(Sender: TObject);
var
 Reg: Tregistry;
begin
  TRegIniFile.Create('Software\MicroSoft\Windows\CurrentVersion\Explorer\Shell Folders');
  DeleteFile(ReadString('Startup') + 'Имя ярлыка.lnk');
end;
uberchel вне форума Ответить с цитированием
Старый 15.01.2010, 05:33   #3
docbrain
Заблокирован
 
Регистрация: 14.01.2010
Сообщений: 306
По умолчанию

Код не работает. Во-первых, команду ReadString пришлось удалить, с ней не компилировалось. Во-вторых, даже когда все скомпилировалось без, ошибок, код оказался нерабочим. Ярлык все на том же месте, и ничего ему не делается.
docbrain вне форума Ответить с цитированием
Старый 15.01.2010, 05:48   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
procedure TForm1.btn1Click(Sender: TObject);
var
 Reg: Tregistry;
begin
  TRegIniFile.Create('Software\MicroSoft\Windows\CurrentVersion\Explorer\Shell Folders');
  DeleteFile(Reg.ReadString('Startup') + 'Имя ярлыка.lnk');
end;
Уберчел малость пропустил, а вы могли бы и догадатся, что обьект Reg не просто так создается.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.01.2010, 08:36   #5
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,457
По умолчанию

Ого, блин, хех пропустил)) Хотел написать через with // do.
Вот, так хотел ))
Код:
procedure TForm1.btn1Click(Sender: TObject);
begin
 with TRegIniFile.Create('Software\MicroSoft\Windows\CurrentVersion\Explorer\Shell Folders') do
 begin
  DeleteFile(ReadString('','Startup','') + '\Имя Ярлыка.lnk);
  CloseKey;
  Free;
  end;
end;

Последний раз редактировалось uberchel; 15.01.2010 в 11:43.
uberchel вне форума Ответить с цитированием
Старый 15.01.2010, 11:27   #6
tavrocotaps
Пользователь
 
Аватар для tavrocotaps
 
Регистрация: 16.08.2008
Сообщений: 56
По умолчанию

итого, конечная версия:
Код:
 procedure TForm1.btn1Click(Sender: TObject);
var
 Reg: TRegistry;
begin
  Reg:=TRegIniFile.Create('Software\MicroSoft\Windows\CurrentVersion Explorer\Shell Folders');
try
  DeleteFile(Reg.ReadString('Startup') + 'Имя ярлыка.lnk');
finally
 Reg.Free;
end;
end;
forever trusting who we are...
tavrocotaps вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
установил прогу "reiting.exe" присланную в сообщении всеми нам известного сайта VKONTAKTE.RU, как удалить MAP78 Безопасность, Шифрование 21 16.12.2012 17:00
Как скрыть значок определённого подключения из папки "сетевые подключения"? mr_alex Win Api 2 05.11.2009 10:40
Два вопроса: Как убрать "скрытые" надписи в опере? И можно ли удалить одну винду? furenok Свободное общение 16 02.09.2009 23:03
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49