Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Автозагрузка проги в Windows XP sp3 [D2005, XP]


Страницы:   1 2 3

Aleks ©   (2011-11-16 14:09:00) 

Написал прогу напоминалку. Хочу чтобы пользователь мог добавить ее в автозагрузку при желании. Использую вариант с внесением в папку "Автозагрузка" ОС(лучше варианта с реестром,так-как в Виндовс 7,для доступа к ключу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run нужны права администратора). Код такой:

procedure addAutoRun(const filename:string);
var
 Folder: array[0..255] of Char;
 List: PitemidList;
 lnk,sd : String;
begin
 lnk := ChangeFileExt(filename,'.lnk');
 SHGetSpecialFolderLocation(0,CSIDL_STARTUP,List);
 FillChar(Folder, SizeOf(Folder), 0);
 SHGetPathFromIDList(List, @Folder);
 GetDir(0,sd);
 ChDir(folder);
   CreateLink(filename,lnk,'','');
   CopyFile(PChar(lnk), PChar(ChangeFileExt(ExtractFileName(lnk),'')+'.lnk'), true);
   DeleteFile(lnk);
 ChDir(sd);
end;

addAutoRun(Application.ExeName);

Программа успешно добавляется в автозагрузку,но при загрузке Windows XP вылетает приблизительно такое окно с ошибкой: " is not valid integer value. Если вручную перетянуть пусковой файл на Пуск-Автозагрузка и перегрузить ПК,то программа запускается без ошибок. Ручной запуск происходит тоже без ошибок. Видимо собака зарыта в процедуре внесения в автозагрузку,но где не понятно :(


Андреевич   (2011-11-17 17:09:00) [1]

и?


Dennis I. Komarov   (2011-11-17 16:26:00) [2]


> зато операционка знает и покажет в случае чего :)


> значит ярлык останется и его можно будет удалить :)


> реализации могут быть разные


> ему подскажут


Андреевич   (2011-11-17 16:14:00) [3]


> Dennis I. Komarov ©   (17.11.11 15:16) [48]

каких отмазок?


Anatoly Podgoretsky   (2011-11-17 15:51:00) [4]

> Dennis I. Komarov  (17.11.2011 14:49:45)  [45]

Не ССЗБ, а ОСЗБ


Dennis I. Komarov   (2011-11-17 15:16:00) [5]


> каких отмазок?

детских :)


Андреевич   (2011-11-17 15:15:00) [6]


> Dennis I. Komarov ©   (17.11.11 14:56) [46]

каких отмазок?


Dennis I. Komarov   (2011-11-17 14:56:00) [7]


> Андреевич   (17.11.11 14:46) [44]

Самому еще не смешно, от детских отмазок?


Dennis I. Komarov   (2011-11-17 14:49:00) [8]


> Программ с такой функциональность ничтожно мало. Зачем дублировать
> функциональность drag and drop

А я почем знаю, это не ко мне :)

> В его случае это может вообще не связано с папкой "Автозагрузка"
> Возможно даже будет получать ошибку, мол не найдена "снесенная
> программа"

В его как раз связано

> Особенно игры так часто сносят, delete и все

ССЗБ


Андреевич   (2011-11-17 14:46:00) [9]


> Это видимая часть
>
> Ты бы сразу сказал что ленивый или что не знаешь.
> Ленивым на данном месте не место.

разумеется это честный чекбокс, и программа которой ты доверяешь. тем которым не доверяешь - не запускаешь, так ведь?


> Это не папка автозагрузки а именно  "запускать со стартом
> системы",

реализации могут быть разные


> Как как, да как обычно сносят пользователи

удивительно, но именно пользователи сносят через панель управления :)


> Что удалить, пользователь не знает.

ему подскажут


Dennis I. Komarov   (2011-11-17 14:43:00) [10]


> А то что теперь надо звать Пупкина

Если админ-права только у него, то да.


Anatoly Podgoretsky   (2011-11-17 14:24:00) [11]

> Dennis I. Komarov  (17.11.2011 13:11:30)  [30]

Особенно игры так часто сносят, delete и все


Anatoly Podgoretsky   (2011-11-17 14:23:00) [12]

> Андреевич  (17.11.2011 13:10:29)  [29]

Что удалить, пользователь не знает.


Anatoly Podgoretsky   (2011-11-17 14:22:00) [13]

> Андреевич  (17.11.2011 13:00:27)  [27]

Как как, да как обычно сносят пользователи, клавишей DELETE, ведь они ни
чего знать не должны, руководства читать тоже - это твои слова, или ты уже
отказываешься от них.


Anatoly Podgoretsky   (2011-11-17 14:21:00) [14]

> Dennis I. Komarov  (17.11.2011 12:59:25)  [25]

В его случае это может вообще не связано с папкой "Автозагрузка"
Возможно даже будет получать ошибку, мол не найдена "снесенная программа"


Anatoly Podgoretsky   (2011-11-17 14:19:00) [15]

> Андреевич  (17.11.2011 12:58:24)  [24]

"запускать со стартом системы",

Это не папка автозагрузки а именно  "запускать со стартом системы",


Anatoly Podgoretsky   (2011-11-17 14:18:00) [16]

> Dennis I. Komarov  (17.11.2011 12:53:22)  [22]

Программ с такой функциональность ничтожно мало. Зачем дублировать
функциональность drag and drop


Anatoly Podgoretsky   (2011-11-17 14:17:00) [17]

> Андреевич  (17.11.2011 12:48:20)  [20]

> конечно же нет, этот чекбокс добавляет прогу в автозагрузку. никаких тайн.

Это видимая часть

Ты бы сразу сказал что ленивый или что не знаешь.
Ленивым на данном месте не место.


OW   (2011-11-17 14:11:00) [18]

ладно не Путина :)


Anatoly Podgoretsky   (2011-11-17 14:03:00) [19]

> Dennis I. Komarov  (17.11.2011 12:05:17)  [17]

А то что теперь надо звать Пупкина


Dennis I. Komarov   (2011-11-17 13:26:00) [20]


> Андреевич   (17.11.11 13:18) [32]

Почему нет? В любом случае это его творение и он за это в ответе перед собой. И не надо переваливать свои грехи на операционку...


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо