Delphi: Как создать приложение автозапуска Windows, как это делает Skype? - PullRequest
5 голосов
/ 02 июля 2010

Я бы хотел добавить в свое приложение опцию, аналогичную опции Skype «запускать Skype при запуске компьютера».

Skype не запускает "Автозапуск приложений" из папки меню "Пуск", я бы хотел получить тот же эффект.

Обратите внимание, один ответ на этот вопрос предлагает добавить ключ здесь:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

но у меня checekd на моей машине, а Skype там нет, поэтому используется другой способ.

Ответы [ 4 ]

11 голосов
/ 02 июля 2010

Skype устанавливается через запись в реестре, но он находится в HKEY_CURRENT_USER, а не в HKEY_LOCAL_MACHINE

Это позволяет устанавливать или не устанавливать Skype для отдельных пользователей. Использование HKLM автоматически запустится для ВСЕХ пользователей.

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
3 голосов
/ 02 июля 2010

Если вы введете «msconfig» в окно запуска и посмотрите на вкладку запуска, вы увидите, откуда начинается «everthing» в столбце «Расположение».Я не использую Skype, но я думаю, что он находится в реестре в

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

Вам просто нужно добавить туда запись реестра для вашего приложения (и удалить ее, если пользовательснимите флажок)

вы можете использовать класс TRegistry для чтения и записи в реестр.

1 голос
/ 02 июля 2010

См. вопрос .Вопрос о C #, но он включает только запись значения реестра.Будет легко конвертировать его для Delphi.

0 голосов
/ 02 июля 2010

Просто запустите msconfig и выберите вкладку startup . Вы увидите приложения рядом с ключом реестра.

Как ни странно, когда я запускаю regedit без прав, не вижу значения HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Run \ Skype . Но если я запускаю его с повышенными правами, то это значение есть (я думаю, что Windows воспроизводит перенаправление реестра).

Лучший

...