Как вызвать диалоговое окно "Windows не может открыть этот файл"?

Мои пользователи могут прикреплять документы к различным объектам в приложении. Конечно, если пользователь A присоединяет файл.TIFF, пользователь B может не иметь средства просмотра для этого типа файла.

Поэтому я хотел бы иметь возможность вызвать этот диалог:

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

Мое приложение C# с VS2005.
В настоящее время я делаю Process.Start и передаю имя файла. Если ассоциация не найдена, выдается исключение.

2 ответа

Решение

Это должно сделать это:

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

p.Start();
Process pr = new Process();
pr.StartInfo.FileName = fileTempPath;
pr.StartInfo.ErrorDialog = true; // important
pr.Start();
Другие вопросы по тегам