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

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

Вернуться   Форум программистов > Программная инженерия > Безопасность, Шифрование
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2006, 10:49   #1
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Gambler
Привет всем!!! Я не очень силен в Delphi, и поэтому у меня возник такой вопрос: Какой командой можно копировать EXE-шник или ярлык на него в системный автозапуск.

Virtson
Нужно создать ключ в реестре:
begin
regopenkeyex(HKEY_CURRENT_USER,'SOF TWARE\Microsoft\Windows\CurrentVers ion\Run',0,KEY_ALL_ACCESS, hk);
regsetvalueex(hk,'Super Proga ',0,REG_SZ, pchar(paramstr(0)),255);
regclosekey(hk);
end

zetrix
Через winapi да так, но для начинающего и так сойдёт:

var
reg:Tregistry;
begin
reg:=Tregistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('Software\Microsoft\Win dows\CurrentVersion\Run',false);
reg.WriteString('имя проги (любое)','Путь к исполняемому файлу');
reg.Free;
end;

Последний раз редактировалось zetrix; 11.11.2006 в 11:50.
zetrix вне форума Ответить с цитированием
Старый 11.11.2006, 12:57   #2
Svop
Пользователь
 
Регистрация: 08.11.2006
Сообщений: 25
По умолчанию

[Error] Unit11.pas(42): Undeclared identifier: 'hk'

ВотЮ что он пишет, когда я пробую первый пример.
Svop вне форума Ответить с цитированием
Старый 11.11.2006, 13:10   #3
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

[quote=Svop;1041][Error] Unit11.pas(42): Undeclared identifier: 'hk'[\quote]
не удивительно, 'hk' - переменная Тип - Cardinal, значения:
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 11.11.2006, 17:47   #4
Svop
Пользователь
 
Регистрация: 08.11.2006
Сообщений: 25
По умолчанию

А можно пжалста пример привести?

reg:Tregistry;
ошибку пишет:
[Error] Unit11.pas(31): Undeclared identifier: 'Tregistry'
а на каждую последующую строку пишет:
reg:=Tregistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('Software\Microsoft\Win dows\CurrentVer sion\Run',false);
reg.WriteString('имя проги (любое)','Путь к исполняемому файлу');
reg.Free;

[Error] Unit11.pas(39): Missing operator or semicolon

Но точка с запятой стоят.

И еще. Второй кусок кода совать куда надо?
В форму или?

можно кому-нибудь сорсы кинуть, автозапуск сделаете, а?

Последний раз редактировалось zetrix; 11.11.2006 в 20:40. Причина: объединение 2-х последовательных сообщений
Svop вне форума Ответить с цитированием
Старый 11.11.2006, 20:39   #5
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Цитата:
можно кому-нибудь сорсы кинуть, автозапуск сделаете, а?
Смотря сколько весят сорсы. Вложи в эту тему.

А ошибка потому что в uses надо дописать Registry
Про какой 2-ой кусок кода ты говоришь? Предложено 2 варианта: через winAPI и ... не через winAPI
zetrix вне форума Ответить с цитированием
Старый 11.11.2006, 22:09   #6
Svop
Пользователь
 
Регистрация: 08.11.2006
Сообщений: 25
По умолчанию

regopenkeyex(HKEY_CURRENT_USER,'SOF TWARE\Microsoft \Windows\CurrentVersion\Run',0,KEY_ ALL_ACCESS, hk);

[Error] Unit11.pas(113): Types of actual and formal var parameters must be identical

var
hk:cardinal;

Че за фака?

Последний раз редактировалось Svop; 11.11.2006 в 22:12.
Svop вне форума Ответить с цитированием
Старый 12.11.2006, 00:47   #7
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
Восклицание

Цитата:
Сообщение от Svop Посмотреть сообщение
А можно пжалста пример привести?

reg:Tregistry;
ошибку пишет:
[Error] Unit11.pas(31): Undeclared identifier: 'Tregistry'
В заголовке Uses пропиiи registry!!!

Цитата:
Сообщение от Svop Посмотреть сообщение
можно кому-нибудь сорсы кинуть, автозапуск сделаете, а?
Не ленись!!!
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 12.11.2006, 10:54   #8
Svop
Пользователь
 
Регистрация: 08.11.2006
Сообщений: 25
По умолчанию

Project Lost.exe raised exception class ERegistryException with message 'Failed to set data for lsas'. Process stopped. Use Stop or Run to continue.

Нету ошибок в написании. Но при запуске выдает такое.(lsas - имя проги, которое я выбрал)
Svop вне форума Ответить с цитированием
Старый 12.11.2006, 15:36   #9
Svop
Пользователь
 
Регистрация: 08.11.2006
Сообщений: 25
По умолчанию

решилась проблема. теперь вопрос: как автозапуск прописать, если юзер сам записывает файл на хард и не известна дериктория.
Svop вне форума Ответить с цитированием
Старый 12.11.2006, 19:23   #10
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Svop, измени своё сообщение, и поясни что ты делал не так (для этого и созданы форумы).

Цитата:
как автозапуск прописать, если юзер сам записывает файл на хард и не известна дериктория.
Что за вирус/прикол пишем?
Лично я делал так: когда пользователь запускает твою прогу, прога копирует сама себя куданибудь подальше (windows\system32\...) и прописывает в автозапуск уже свою копию.
zetrix вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрытый автозапуск программы vicvtor Win Api 28 21.10.2008 17:45
Скрытый автозапуск программы Comer_Jus Помощь студентам 1 20.06.2008 14:47
Автозапуск PROGR Общие вопросы Delphi 8 26.12.2007 08:54
Автозапуск zzzzz Общие вопросы Delphi 2 12.11.2007 08:54
автозапуск effluent Безопасность, Шифрование 7 19.04.2007 20:12