Почитай этот ФАК: Методы автозапуска программ в среде Windows '95, '98 и Windows Millenium. Автор: Дмитрий Крупорницкий Очень часто в форумах по компьютерной тематике можно увидеть вопросы, типа: "Как запустить программу при загрузке Windows?", или же "Каким способом лучше запускать программу?", и т.д. В данной статье я решил рассмотреть способы, которыми можно запустить программу в среде Windows. Я намеренно не включил сюда такие "экзотические" способы, как дописывание ещё одного блока в PE-файл, или же запуск программы из загрузочного сектора. Способ первый: самый простой и до боли знакомый со среды DOS – файл AUTOEXEC.BAT в корневом каталоге загрузочного диска. Все программы, которые вы хотите запустить из него, должны выполняться в реальном режиме DOS, так как выполнение этого командного файла происходит до загрузки графической оболочки. Файл AUTOEXEC.BAT – простой текстовой файл. Каждая строка (если она не пустая) представляет собой команду среды DOS. Есть несколько форматов запуска исполняемых файлов, но остановимся на нескольких: [путь]\файл.рас – запуск программы с выдачей строки запуска и на экран и выводом сообщений программы на стандартное устройство вывода (экран); @[путь]\файл.рас – запуск программы без выдачи строки запуска программы и выводом сообщений программы на экран; @[путь]\файл.рас > nul – запуск программы в "тихом" режиме (без вывода строки запуска и данных программы). Способ второй: папка автозагрузки. Всё, что кладётся в папку "Автозагрузка", будет выполнено при запуске Windows. В неё могут находится программы и DOS и Windows форматов. К данной папке можно получить доступ и через реестр Windows по следующему пути: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders;Ключ: Startup="ПУТЬ_К_ПАПКЕ_АВТОЗАГРУЗКИ" Способ третий: файл конфигурации системы WIN.INI. Если в разделе [windows] создать (или дописать) ключ load=файл.exe или run= файл.exe, то он будет запущен при старте Windows.Дописывать в этот файл информацию нужно при помощи функции WritePrivateProfileStringA, описание которой вы можете найти в MSDN. Сюда же можно отнести и запуск программы из файла SYSTEM.INI. К нему применимы всё вышесказанное, только дописывать надо в раздел [boot], а ключ: shell=explorer.exe ВАШ_ФАЙЛ_ЗАПУСКА. Данный ключ описывает среду для работы в Windows, и EXPLORER.EXE при инициализации запускает вашу прогрмму. Способ четвёртый: файл WINSTART.BAT. Он представляет собой обычный BAT (командный) файл и чаще всего используется для удаления следов программ инстоляции или деинстоляции. Он находится в каталоге установки Windows и в отличии от AUTOEXEC.BAT в него могут входить программы для 32 разрядного режима (Windows формата). Способ пятый: самый известный людям, которые хоть раз занимались поиском троянов, вирусов да и просто назойливых программ. В реестре есть ряд ключей, в которых если прописать имя программы, то она будет выполнена при старте Windows. Ключи эти следующие: [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices] Разница между RunServices и просто Run состоит в том, что при запуске программы в ключе RunServices она будет запущена как обслуживающий процесс и ей будет выделено меньше приоритетного процессорного времени при работе. При запуске же в ключе Run, программа запуститься как обычно с нормальным приоритетом. Имя ключа, содержащего путь и имя программы, может быть любым. Параметр должен быть строковым (REG_SZ]. Если к примеру вам требуется запустить программу только один раз, то можете поместить её в следующие ключи реестра: [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce] Разница между ними и вышесказанным состоит лишь в том, что данные ключи будут очищены после успешной загрузки системы автоматически, и вам не придётся делать это программным способом. Программа получит управление лишь один раз. Способ шестой: файл WININIT.INI. Самый "загадочный" способ запуска. Все дело в том, что этот файл используется программами установки для удаления своих временных файлов. Если файл существует в каталоге установки Windows, то он выполняется а затем удаляется автоматически. Файл предназначен только для удаления файлов, и очень хорош, если вы хотите кому-то "насолить" J . Просто создайте файл следующего содержания: [RENAME] NUL=C:\COMMAND.COM Эта команда отправит файл COMMAND.COM на нулевое устройство, ну или просто удалит его. Способ седьмой: привязка программы к определённому формату файлов Windows. Часто употре[sensored]ется для вирусописательства . [HKEY_CLASSES_ROOT\exefile\shell\open\command] Ключ: "\"%1\" %*" [HKEY_CLASSES_ROOT\comfile\shell\open\command] Ключ: "\"%1\" %*" [HKEY_CLASSES_ROOT\batfile\shell\open\command] Ключ: "\"%1\" %*" [HKEY_CLASSES_ROOT\htafile\Shell\Open\Command] Ключ: "\"%1\" %*" [HKEY_CLASSES_ROOT\piffile\shell\open\command] Ключ: "\"%1\" %*" [HKEY_LOCAL_MACHINE\Software\CLASSES\batfile\shell\open\command] Ключ: "\"%1\" %*" [HKEY_LOCAL_MACHINE\Software\CLASSES\comfile\shell\open\command] Ключ: "\"%1\" %*" [HKEY_LOCAL_MACHINE\Software\CLASSES\exefile\shell\open\command] Ключ: "\"%1\" %*" [HKEY_LOCAL_MACHINE\Software\CLASSES\htafile\Shell\O
Ответить
|