Search code examples
c#visual-studio-2005file-associationprocess.start

How to bring up the "Windows cannot open this file" dialog?


My users can attach documents to various entities in the application. Of course, if user A attaches a .TIFF file, user B may not have a viewer for that type of file.

So I'd like to be able to bring up this dialog:

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

My application is C# with VS2005.
Currently I do Process.Start and pass in the file name. If no association is found, it throws an exception.


Solution

  • This should do it:

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