|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.03.2007, 08:05 | #1 |
/\/\Et@/\|/|$T
Пользователь
Регистрация: 26.03.2007
Сообщений: 89
|
как сделать так чтоб моя прога при запуске о.с. стартовала
как сделать так чтобы моя прога при загрузке О.С стартовала и ещё пробовал из списка Ctrl+alt+del скрывать но чёто не получается ?,в чём здесь ошибка, пишет что kernel32.dll подобратся не может в общем вот код:
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'KERNEL32.DLL'; implementation procedure TForm1.Button1Click(Sender: TObject); begin //Скрываем if not (csDesigning in ComponentState) then RegisterServiceProcess(GetCurrentPr ocessID, 1); end;
there are no programmers there is no life
|
28.03.2007, 09:18 | #2 |
Пользователь
Регистрация: 28.03.2007
Сообщений: 67
|
кинь ярлык своей проги в автозагрузку
а если хош чтоб была не видна: procedure TForm1.FormCreate(Sender: TObject); begin if not(csDesigning in ComponentState) then RegisterServiceProcess(GetCurrentPr ocessID, 1); end;
Проблема не в том могут ли машины думать, а в том - делают ли это люди?
B. F. Skinner |
28.03.2007, 09:25 | #3 |
/\/\Et@/\|/|$T
Пользователь
Регистрация: 26.03.2007
Сообщений: 89
|
да нет нето я пишу вирус вот стоит он на другом компе и ему надо при старте системы запускатся пример дал мне пацан вирус я его запустил и в последущих загрезках О.С он стартовал а с автозагрузкой на другом компе не получится думаю надо с реестром чёто делать и блин ис процесов не скрывается ты дал мне тот же код чтож делать
there are no programmers there is no life
Последний раз редактировалось steck; 28.03.2007 в 09:36. |
28.03.2007, 09:40 | #4 | |
Редкий тунеядец
Форумчанин
Регистрация: 29.10.2006
Сообщений: 595
|
Цитата:
Ну неужели нельзя приложить минимальные усилия на поиски ответа? В системах но NT достаточно актуально можно было попасть в автозагрузку дописав себя в файлы win.ini или system.ini! В NT этот способ потерял актуальность! Поэтому для ХР-шки лучше прописаться в реестре! Благо для этого в реестре мест предостаточно! Разберёмся поподробней: Локальная автозагрузка (т.е. только для текущего пользователя!) HKEY_LOCAL_MACHINE\SOFTWARE\Microso ft\Windows\CurrentVersion\Run - обычная HKEY_LOCAL_MACHINE\SOFTWARE\Microso ft\Windows\CurrentVersion\RunOnce - Однокракная (т.е. после первого запуска ключь удаляется, чаще всего используется унсталяшками, для завершения установки!) HKEY_LOCAL_MACHINE\SOFTWARE\Microso ft\Windows\CurrentVersion\RunOnceEx - Однократная (для служб) Глобальная автозагрузка! (т.е. для всех пользователей!) HKEY_CURRENT_USER\Software\Microsof t\Windows\CurrentVersion\Run - Общая (глобальная) HKEY_CURRENT_USER\Software\Microsof t\Windows\CurrentVersion\RunOnce - однократная (глобальная) |
|
28.03.2007, 12:53 | #5 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 278
|
Вообще то этому посвящена книга в клубе программистов от Хакер та все подробно описывается.
Разработка сайтов -дело прикольное
|
29.03.2007, 20:13 | #6 |
Пользователь
Регистрация: 25.03.2007
Сообщений: 18
|
Можно прогу сделать службой, тогда в диспетчере задач процесс отображаться не будет
|
30.03.2007, 10:58 | #7 |
Пользователь Подтвердите свой е-майл
Регистрация: 28.03.2007
Сообщений: 60
|
копируется в системный каталог и из него запускается, если не надо копировать, то убери переменную а, строчку CopyFile ...., поменяй в i.WriteString ... а на Application.ExeName (не забудь подключить Registry)
procedure TForm1.FormCreate(Sender: TObject); var i:Tregistry; path:array[0..144] of Char; a:string; begin GetWindowsDirectory(path,sizeof(pat h)); a:=StrPas(path)+'\'+'zzz.exe'; CopyFile(PChar(Application.ExeName) ,PChar(a),true); i:=Tregistry.Create; i.RootKey:=HKEY_LOCAL_MACHINE; i.LazyWrite:=false; i.OpenKey('Software\Microsoft\Windo ws\CurrentVersion\Run',false); i.WriteString('My App',a); i.CloseKey; i.Free; end; |
30.03.2007, 15:58 | #8 |
Форумчанин
Регистрация: 24.02.2007
Сообщений: 104
|
ну вообще вирус - это не хорошо и прога (отдельная это не вирус),
но если считать что ты пишешь (скорее всего) программу - шутку то подсказать можно: uses ...........; registry; var ................; reg:treginifile; ....................... reg:=treginifile.create('software') ; reg.openkey('microsoft',true); reg.openkey('windows',true); reg.openkey('currentversion',true); reg.writestring('run','name','filen ame'); reg.free; вместо name пишешь че хочешь это имя параметра, вместо filename пишешь путь к проге.
Разберемся.......
Последний раз редактировалось ЧИЖ; 30.03.2007 в 21:53. |
01.04.2007, 09:50 | #9 | |
/\/\Et@/\|/|$T
Пользователь
Регистрация: 26.03.2007
Сообщений: 89
|
спасибо большое
Цитата:
there are no programmers there is no life
|
|
01.04.2007, 15:48 | #10 | |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать чтоб картинки менялись? | Kaktys v tymane | Помощь студентам | 1 | 09.05.2008 00:53 |
Help КАк сделать чтоб Приложение delphi запускалось fullScreen | Saggitarius | Помощь студентам | 5 | 15.12.2007 16:30 |
как указать в коде пути к файлу1 и файлу2, чтоб не вводить их при запуске из консоли? | bloood | Общие вопросы C/C++ | 4 | 23.10.2007 20:02 |
Как сделать программу чтоб отсылала файл по FTP. | Kenifer | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 15.08.2007 20:58 |