Pergunta

Meus usuários podem anexar documentos a várias entidades na aplicação. Claro, se o usuário A anexa um arquivo .TIFF, o usuário B não pode ter um visualizador para esse tipo de arquivo.

Então, eu gostaria de ser capaz de trazer este diálogo:

alt texto http://www.angryhacker.com/toys/cannotopen.png

A minha aplicação é C # com VS2005.
Atualmente eu faço Process.Start e passar o nome do arquivo. Se nenhuma associação for encontrado, ele lança uma exceção.

Foi útil?

Solução

Isso deve fazê-lo:

System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "rundll32.exe";
p.StartInfo.Arguments = "shell32.dll,OpenAs_RunDLL " + yourFileFullnameHere;

p.Start();

Outras dicas

Process pr = new Process();
pr.StartInfo.FileName = fileTempPath;
pr.StartInfo.ErrorDialog = true; // important
pr.Start();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top