Я сделал открытие некоторое время назад. Просто выполните следующие действия:
Создайте файл .doc / .xls / .ppt в Office 2003. Сохраните там некоторые тестовые данные и закройте файл. Теперь переименуйте файл, чтобы изменить его расширение на случайную строку, следя за тем, чтобы он не ассоциировался, как test.asdfghjkl и т. Д.
Дважды щелкните файл, и он без проблем откроется в родительском приложении.
Теперь AFAIK, windows проверяет расширение файла и использует его для выполнения действия, а именно открывает приложение и передает ему файл для открытия. Тогда как офисному пакету удается это сделать?
РЕДАКТИРОВАТЬ: как насчет случая, когда расширение изменяется на то, что связано с другим приложением. Существует ли алгоритм приоритетов для обработки этого?