「Windowsはこのファイルを開くことができません」ダイアログを表示するには?

StackOverflow https://stackoverflow.com/questions/884012

質問

私のユーザーは、アプリケーション内の様々なエンティティに書類を添付することができます。もちろん、もしユーザーAは、ユーザーBがファイルのそのタイプのビューアを持っていない可能性があり、.TIFFファイルを添付します。

だから私は、このダイアログを起動できるようにしたいと思います:

ALTテキストhttp://www.angryhacker.com/toys/cannotopen.png

私のアプリケーションはVS2005でC#のである。
現在、私はProcess.Startを行うと、ファイル名に渡します。何の関連付けが見つからない場合、それは例外をスローします。

役に立ちましたか?

解決

これはそれを行う必要があります:

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();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top