1

Я разработчик, и я только что создал приложение и свой собственный тип файла с уникальным расширением (допустим, это будет .aaa). Я хочу добавить запись в меню "Отправить" (щелкните файл правой кнопкой мыши -> отправить), чтобы я мог отправлять файлы «.aaa» в свое приложение, а когда я дважды щелкаю «.aaa» файл, он должен открыться с моим приложением.

Когда я пытался решить эту проблему, я обнаружил, что могу поставить ярлык для моего приложения в C:\Users\<yourusername>\AppData\Roaming\Microsoft\Windows\SendTo , однако оно будет работать только для одного пользователя. , Интересно, есть ли раздел реестра, который я мог бы добавить / отредактировать для этого (как для "отправить в", так и для ассоциации файлов), для всех пользователей ...

Не могли бы вы помочь мне с этим?

1 ответ1

1

C:\Users\Default будет применяться только при создании нового пользователя.

Чтобы скопировать его во всех существующих пользователей SendTo, вам необходимо написать простой пакетный скрипт:
copy "<yourfile with path>" %APPDATA%\Microsoft\Windows\SendTo /y

и скопируйте пакетный сценарий в: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup


Ассоциация файлов также может быть запрограммирована с использованием пакета, например:

ftype txtfile="C:\Program Files (x86)\Notepad++\notepad++.exe" %1

Чтобы не вызывать каких-либо других проблем, вы должны найти переменную ftype, используемую вашей программой (в случае ее наличия), в нашем случае для .txt это переменная txtfile .
Вы можете найти его в regedit - HKEY_CLASSES_ROOT ищет расширение файла (в нашем случае .txt), переменная, которая нам нужна, является значением данных строки (default) .

Если значение отсутствует, используйте скрипт следующим образом:

ftype txtfile="C:\Program Files (x86)\Notepad++\notepad++.exe" %1
assoc .txt=txtfile

Замените txtfile любым значением, которое вы хотите.

Единственная проблема в том, что этот пакетный скрипт должен запускаться от имени администратора. Однако это изменит ассоциацию файлов по умолчанию для каждого пользователя.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .