Перенаправить программу по умолчанию в другую программу при открытии файла в ОС Windows - PullRequest
1 голос
/ 23 октября 2011

Это только в Windows Env. Как я знаю, Windows OS идентифицирует связанное приложение определенного файла по расширению файла. Аналогично, каждый файл (двоичный) начинается с соответствующих символов («начальные символы»). Для примера .JPG начинается с ÿØÿà. Допустим, я открываю этот файл .JPG в шестнадцатеричном или текстовом редакторе, а затем меняю эти начальные символы на другой тип файла. Например, я могу изменить ÿØÿà на .Eß £ (.mkv). Поэтому, когда я дважды щелкаю на .JPG, Windows Photo Viewer сообщает, что есть некоторые ошибки или подобное сообщение. Поэтому мне нужно получить некоторую информацию о приложении, которое пытается открыть файл такого типа. Если я могу, мне нужно открыть этот файл с помощью приложения, связанного с «начальными символами».

Вкратце, когда я открываю .JPG, мне нужно открыть файлы .mkv видеоплеера по умолчанию. Но это может не сработать для этого примера. Потому что я изменил только «начальные символы» моего .JPG.

Пожалуйста, дайте мне любую идею, чтобы сделать это.

Спасибо!

Ответы [ 3 ]

2 голосов
/ 23 октября 2011

Когда вы шифруете файл, присвойте ему новое расширение.например, Picture.jpg становится Picture.encrypted-jpg.Затем вы регистрируетесь как обработчик для encrypted-jpg, расшифровываете файл, затем запускаете обычный обработчик jpg.

1 голос
/ 23 октября 2011

Когда оболочке предлагается выполнить глагол над файлом, оболочка не использует содержимое файла, чтобы определить, в какое приложение передать его.Расширение файла определяет, как будет обрабатываться файл.

Вы хотите использовать содержимое файла, чтобы влиять на то, какое приложение обрабатывает глагол оболочки.Для этого вам необходимо создать приложение запуска, которое читает заголовок файла и затем решает, в какое приложение передать файл.Вы бы назначили ваше приложение запуска в качестве приложения-обработчика для всех интересующих вас расширений файлов.

Хотя вы могли бы сделать это, было бы намного проще просто установить соответствующее расширение файла.

0 голосов
/ 25 октября 2011

Правильный способ сделать это - заменить файлы точками повторного анализа .

Недостатком является то, что для этого нужно написать драйвер фильтра файловой системы , то есть расширение операционной системы, которое представляет собой целый уровень проблем, выходящих за рамки обычного прикладного программирования.(Поскольку Windows уже выполняет шифрование файлов, я сомневаюсь, что это стоило бы усилий.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...