|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.12.2011, 17:35 | #1 |
Пользователь
Регистрация: 18.05.2011
Сообщений: 49
|
Вопрос по автозапуску программы в реестре
Правильно ли написан код?
Код:
|
21.12.2011, 18:58 | #2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Кидайте ярлык программы в папку "Автозагрузка" и будет вам счастье.
Темболее не учитываете ситуацию, когда на машине несколько юзеров(и у каждого свой логин), а программа нужна только 1 человеку. Кидайте в папку автозагрузка, либо пишите в HKEY_CURRENT_USER. Вот мой метод: Код:
|
21.12.2011, 21:17 | #3 | |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Цитата:
У Человека_Борща лучше, хотя есть пара мелких недочётов. Кстати, я бы тоже рекомендовал посмотреть на добавление в папку Автозагрузка вместо использования реестра. Это существенно дружелюбнее к пользователю.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
|
21.12.2011, 21:25 | #4 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
|
|
21.12.2011, 21:43 | #5 |
Пользователь
Регистрация: 18.05.2011
Сообщений: 49
|
Спасибо большое!) но выдаёт ошибки...
if Reg.OpenKey(RunKey, False) then EStackOverflow |
21.12.2011, 21:45 | #6 |
Пользователь
Регистрация: 18.05.2011
Сообщений: 49
|
а почему не правильно?))
у меня заносилась в реестр запись) |
21.12.2011, 21:46 | #7 | ||
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Цитата:
2. Может это и спорно, но мне кажется, что не очень удачна идея с двумя aForMe и aForAll по таким причинам: а). Если ты ставишь aForAll, то этим же ставишь aForMe (ну, тот же эффект). б). HKCU и HKLM требуют разных прав доступа к реестру и комбинировать их в одном проходе процедуры не стоит. Я бы сделал AInstall: Boolean (True - установить, False - удалить) и AGlobal: Boolean (True - HKLM, False - HKCU). 3. Дублирование кода. Проверку надо делать не в начале, а в самом конце, когда идёт выбор между WriteString и DeleteValue. 4. CloseKey вроде не обязателен, деструктор сам всё сделает. Цитата:
Могу перечислить недостатки кода.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
Последний раз редактировалось GunSmoker; 21.12.2011 в 21:58. |
||
21.12.2011, 22:18 | #8 |
Пользователь
Регистрация: 18.05.2011
Сообщений: 49
|
Человек_Борща, спасибо за код но он ошибку выдаёт
if Reg.OpenKey(RunKey, False) then Ошибка>> EStackOverflow сорри у меня ошибка где то...) Последний раз редактировалось paxan86; 21.12.2011 в 22:26. |
21.12.2011, 22:47 | #9 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
У меня и в delphi 7 и в XE2 работает на ура, вот уже 6 месяцев без ошибок.
GunSmooker, благодарен. Но пропроверку доступка к ресстру, это о проверки адм. привелегий или KEY_ALL_ACCESS? Вот чуток оптимизировал: Код:
Последний раз редактировалось Человек_Борща; 21.12.2011 в 22:52. |
21.12.2011, 23:28 | #10 |
Пользователь
Регистрация: 18.05.2011
Сообщений: 49
|
Кул спасибо!=)
Последний раз редактировалось paxan86; 22.12.2011 в 00:03. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вопрос тем, кто пишет программы на заказ. | demidov_andrey | Помощь студентам | 1 | 03.01.2010 22:17 |
Хотел бы задать вопрос по поводу рекурсивной программы | GUnt | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 27.12.2008 22:16 |
Вопрос оптимизации программы на С++ | argrus | Помощь студентам | 9 | 29.03.2008 23:54 |
пути в реестре, где находятся программы автозагрузки для win'95 win'98 win' me win 2000 | Prisian | Win Api | 1 | 11.09.2007 20:07 |
Вопрос по написанию программы | Canadec | БД в Delphi | 1 | 22.07.2007 18:38 |