Windows 10 «отправить» и конфигурация ассоциации файлов по умолчанию - все пользователи

1140
Leonardo Alves Machado

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

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

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

1
Как насчет помещения его в `C: \ Users \ Default \ AppData \ Roaming \ Microsoft \ Windows \ SendTo` Divin3 8 лет назад 0
Я попытался поставить ярлык там, но отправка не была обновлена. Должно ли оно быть обновлено? Должен ли я перезапустить изменения, чтобы изменения вступили в силу, когда я поставил ярлык для отправки для пользователя по умолчанию? Leonardo Alves Machado 8 лет назад 0

1 ответ на вопрос

1
Divin3

C:\Users\Default will be applied only when a new user is created.

To copy it into every existing users SendTo, you need to write a simple batch script:
copy "<yourfile with path>" %APPDATA%\Microsoft\Windows\SendTo /y

and copy the batch script to: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup


The file association can also be scripted using batch, for example:

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

In order not to cause any other problems, you have to find the ftype variable used by your program (in case there is one), in our case for .txt the variable is txtfile.
You can find it in regedit - HKEY_CLASSES_ROOT looking for the file extension (in our case .txt), the variable we need is the data value of the (default) string.

In case there is no value, use the script the following way instead:

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

Replace txtfile with any value you'd like.

The only problem with this, is that this batch script has to be ran as an administrator. However this will change the default file association for every user.

Работал отлично! Большое спасибо. Я бы проголосовал за тебя, если бы мог Leonardo Alves Machado 8 лет назад 0
Пожалуйста. :-) если у вас есть другие вопросы по этой теме, смело спрашивайте. Divin3 8 лет назад 0
Поставьте кавычки вокруг "% 1", иначе Windows будет неправильно читать имена файлов с пробелами. gmarmstrong 5 лет назад 0

Похожие вопросы