Я почти уверен, что при установке Office на компьютер с Windows 7 он меняет путь к значку XML со статического пути (см. HKEY_CLASSES_ROOT\xmlfile\DefaultIcon
в реестре) на переменную «% 1».
В сочетании с тем, что запись xmlfile
также имеет ShellEx\IconHandler
означает, что значок динамически контролируется DLL (или каким-либо другим обработчиком). Если вы посмотрите GUID в данных значения IconHandler по умолчанию, вы сможете выяснить, какая программа используется для обработки этого значка.
Шахта случается {AB968F1E-E20B-403A-9EB8-72EB0EB6797E}, так что я искал в реестре , пока я не нашел HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{AB968F1E-E20B-403A-9EB8-72EB0EB6797E}\InprocServer32
Который перечисляет "C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSOXEV.DLL" в качестве программы, обрабатывающей это. Таким образом, при запросе XML проверяется MSOXEV.DLL, который глубоко исследует файл и определяет, какой значок отображать.
В ответе на аналогичный вопрос в StackOverflow также есть отличное объяснение, если вы хотите проверить это.