Sou desenvolvedor e acabei de criar um aplicativo e meu próprio tipo de arquivo, com uma extensão exclusiva (digamos que seria .aaa). O que eu quero fazer é adicionar uma entrada no menu "Enviar para" (clique com o botão direito no arquivo -> enviar para) para que eu possa enviar arquivos '.aaa' para meu aplicativo, e quando clico duas vezes em um arquivo .aaa arquivo, ele deve abrir com meu aplicativo.
Descobri, ao tentar resolver isso, que poderia colocar um atalho para meu aplicativo em C:\Users\<yourusername>\AppData\Roaming\Microsoft\Windows\SendTo
, porém funcionaria apenas para um usuário. Gostaria de saber se existe uma chave de registro que eu possa adicionar/editar para isso (tanto para "enviar para" quanto para associação de arquivos), para todos os usuários ...
Você poderia me ajudar com isso?
Responder1
C:\Users\Default
será aplicado somente quando um novo usuário for criado.
Para copiá-lo para todos os usuários existentes do SendTo, você precisa escrever um script em lote simples:
copy "<yourfile with path>" %APPDATA%\Microsoft\Windows\SendTo /y
e copie o script em lote para:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
A associação de arquivos também pode ser programada em lote, por exemplo:
ftype txtfile="C:\Program Files (x86)\Notepad++\notepad++.exe" %1
Para não causar outros problemas, você deve encontrar otipo fvariável usada pelo seu programa (caso exista), no nosso caso .txt
a variável é txtfile
.
Você pode encontrá-lo no regedit - HKEY_CLASSES_ROOT
procurando a extensão do arquivo (no nosso caso .txt
), a variável que precisamos é o valor dos dados da (default)
string.
Caso não haja valor, use o script da seguinte maneira:
ftype txtfile="C:\Program Files (x86)\Notepad++\notepad++.exe" %1
assoc .txt=txtfile
Substitua txtfile
por qualquer valor que desejar.
O único problema com isso é que esse script em lote deve ser executado como administrador. No entanto, isso alterará a associação de arquivo padrão para cada usuário.