Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата PavlovAV:
Вопрос-то был в следующем - с чего вдруг винда понимает, что переименованный файл (из exe в bat) является на самом деле exe-файлом, и все работает? Документировано ли это где-нибудь? »
Здесь:
Код: Выделить весь код
HKEY_CLASSES_ROOT\batfile\shell\open\command
Ваш «пакетный» файл отправляется на исполнение, где происходит разбор содержимого его заголовка, и он исполняется, как любой другой PE-файл.

Цитата PavlovAV:
Да, не всегда это прокатывает (тот же ворд не заработает, т.к. сложный установщик, реестр задействован и т.п.) »
Однако, работает.

Цитата PavlovAV:
По сути - и txt можно открыть хоть вордом, хоть экселем - все будет читаемо, но наоборот - мало вероятно))) »
Некорректное объяснение. У нас, фактически, всего-навсего сменён тип файла. Причём эта смена никак не влияет на метод запуска — в обеих разделах реестра однотипное содержимое в глаголе «Open». И только. В любом случае всё вращается вокруг CreateProcess function (Windows).
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:45, 07-04-2014 | #7