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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2010, 01:56   #1
sevitov_yura
 
Регистрация: 08.06.2010
Сообщений: 9
По умолчанию автозагрузка с помощью WinAPI

Доброе время суток! Подскажите пожалуйста, как прописать программу на чистом winAPI в реестр в автозапуск??? Без всяких Tregistry и т.д. Надеюсь понимаете о чём идёт речь...

Пробовал по-разному, но в основном косяк в этом: при прописывание в реестр, нужен путь к исполняемому файлу, а я в USES слово FORMS не прописываю значит Application.EXEname - не пойдёт... как обойти данный косяк???

прошу не писать ответы типа закинуть в папку АВТОЗАГРУЗКА и подобной чепухи, это для полных идиотов)))

Последний раз редактировалось sevitov_yura; 08.06.2010 в 02:02.
sevitov_yura вне форума Ответить с цитированием
Старый 08.06.2010, 02:06   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ParamStr(0)
даст путь к exe эта функция прописана в модуле System который всегда подключен.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.06.2010, 02:13   #3
sevitov_yura
 
Регистрация: 08.06.2010
Сообщений: 9
По умолчанию

ругается на типы: string и pointer....
sevitov_yura вне форума Ответить с цитированием
Старый 08.06.2010, 02:17   #4
sevitov_yura
 
Регистрация: 08.06.2010
Сообщений: 9
По умолчанию

вот чё у меня получилось:

program Project2;
uses windows;
var k:hkey;
begin
RegOpenKeyEx(HKEY_LOCAL_MACHINE,'so ftware\microsoft\windows\currentver sion\run',0,KEY_ALL_ACCESS,k);
RegSetValueEx(k,'rundll32',0,reg_sz ,paramstr(0),Length(PChar(paramstr( 0))));
RegCloseKey(k);
end.

я вместо "Application.ExeName" подставил "ParamStr(0)", но... но катит...

киньте весь код, а то я в ауте.
sevitov_yura вне форума Ответить с цитированием
Старый 08.06.2010, 02:39   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

RegSetValueEx(k,<имя ключа вам нужно именно это?>,0,reg_sz ,PChar(paramstr(0)),Length(paramstr ( 0)));
а то понатыкали преобразований куда попало.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.06.2010, 02:52   #6
sevitov_yura
 
Регистрация: 08.06.2010
Сообщений: 9
По умолчанию

огромнейшее спасибо!!!!!! побольше бы таких людей... которые сразу понимают о чём идёт речь, на других форумах кроме папки АВТОЗАГРУЗКА ничего не знают(((
sevitov_yura вне форума Ответить с цитированием
Старый 08.06.2010, 17:39   #7
Lemo
Форумчанин
 
Аватар для Lemo
 
Регистрация: 13.10.2008
Сообщений: 714
Радость

Код:
program Project2;

uses
  windows;

var
 k:hkey;
 msg:Tmsg;

{$R *.res}

begin
RegOpenKeyEx(HKEY_LOCAL_MACHINE,'so ftware\microsoft\windows\currentver sion\run',0,KEY_ALL_ACCESS,k);
RegSetValueEx(k,'rundll32',0,reg_sz ,PChar(paramstr(0)),Length(paramstr ( 0)));
RegCloseKey(k);

 while GetMessage(msg,HInstance,0,0) do        // что бы прога висела в процесах
  begin
    TranslateMessage(msg);
    DispatchMessage(msg);
  end;


end.

Что то оно не хочет делать авторан(((
Lemo вне форума Ответить с цитированием
Старый 08.06.2010, 18:14   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

проверь все команды на успешность
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.06.2010, 22:54   #9
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Цитата:
на других форумах кроме папки АВТОЗАГРУЗКА ничего не знают(((
С чего такие выводы? Прописывать программу в автозагрузку через реестр - считаю...некрасиво что ли...и так там хлама, а ту еще и мы со своей автозагрузкой... Киньте ярлык в папку Автозагрузка и все будет работать. Или вы...то-то типа вируса пишите...
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 09.06.2010, 12:09   #10
sevitov_yura
 
Регистрация: 08.06.2010
Сообщений: 9
По умолчанию

Цитата:
Сообщение от spamer Посмотреть сообщение
С чего такие выводы?
Скока не спрашывал, всё мне втирают папку "автозагрузка", а про реестр мало что знают((...

Цитата:
Или вы...то-то типа вируса пишите...
Что-то наподобие)..
sevitov_yura вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автозагрузка, каталог "Автозагрузка" создается повторно (Win7 x32) MyIE Общие вопросы Delphi 10 29.03.2012 07:49
автозагрузка пауэрлифтинг Общие вопросы Delphi 3 25.01.2010 22:30
автозагрузка бодяга Общие вопросы Delphi 3 14.08.2009 18:00
Автозагрузка Altera Операционные системы общие вопросы 8 29.06.2008 21:54
Автозагрузка nikleb Общие вопросы Delphi 1 23.06.2007 14:12