Как вызвать диалоговое окно "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();