Цитата:
GLuck1:
если посмотреть в реестре программу, которая указана в качестве shell для открытия регфайлов, то это
regedit.exe "%1"
поэтому он должен открывать его по идее.
|
Определимся в чём косяк.
Значение по умолчанию ключа расширения файла содержит имя класса программ, ассоциированного с этим расширением. При запуске
.exe система смотрит значение параметра по умолчанию, т.е. значение класса (exefile) и обращается уже к классу
exefile для того, чтобы определить поведение, т.е. запуск программы.
Ошибка допущена на этапе ассоциации расширения с классом. Система не могла понять как себя вести при обращении пользователя к ".exe", т.к. класса "exeshnik" нет (вот если бы "exefile" был переименован в "exeshnik").
НО! При запуске reg-файла и любого другого (.avi, .txt и др.) исполняющее его приложение запустится. Почему? Да потому, что у него с ассоциацией вида расширение-класс всё в порядке! Значение ключа расширения ведёт к истинному (true) классу.
Забудьте всё что я нёс про процесс... Мысль ушла не туда.