Страница 1 из 1
програма которая записывает себя в автозагрузку
Добавлено: 13 апр 2009, 00:48
Decus6
Делаю програму-шутку. Но не знаю как зделать что бы она записывала себя в атозагрузку. может кто поможет. вот исходник
Re: програма которая записывает себя в автозагрузку
Добавлено: 13 апр 2009, 11:36
mc-black
Вот код, надеюсь сообразишь что к чему и куда вставлять.
Код: Выделить всё
include \masm32\include\advapi32.inc
includelib \masm32\lib\advapi32.lib
InstallAutorun PROTO
.data
szAutoKey db "Software\Microsoft\Windows\CurrentVersion\Run",0
.code
;Функция InstallAutorun
;установка автозагрузки программы
InstallAutorun proc
LOCAL szBuf[MAX_PATH]:BYTE
LOCAL hKey :D WORD
; раскомментировать одну из двух следующих строк:
;invoke RegOpenKeyEx,HKEY_LOCAL_MACHINE,addr szAutoKey,0,KEY_WRITE,addr hKey
invoke RegOpenKeyEx,HKEY_CURRENT_USER,addr szAutoKey,0,KEY_WRITE,addr hKey
invoke GetModuleFileName,hInstance,addr szBuf,MAX_PATH
invoke lstrlen,addr szBuf
invoke RegSetValueEx,hKey,addr ClassName,0,REG_SZ,addr szBuf,eax
invoke RegCloseKey,hKey
ret
InstallAutorun endp
Прикол он конечно ничего, только рекомендую также встроить возможность удаления из автозагрузки, пока тебе за это пальцы не поотрывали =)
Re: програма которая записывает себя в автозагрузку
Добавлено: 13 апр 2009, 17:49
Decus6
Большое спасибо. Все получилось. Хотя почемуто после перезагрузки ПК запустилось две версии проги. Хотя так даже прикольней (два летающих пуска должно удивить в два раза больше)
Re: програма которая записывает себя в автозагрузку
Добавлено: 13 апр 2009, 18:15
mc-black
Ну по всем правилам тебе надо сделать не только добавление программы в автозагрузку, но и проверку перед этим действием, нет ли уже программы в автозагрузке )чтобе не плодить загруженные копии. Или как вариант можно при пуске при помощи мъютекса (mutex) проверять, не запущены ли другие экземпляры программы, т.е. ограничить число запущенных экземпляров программы до одной. Это будет более корректно.