日期:2014-05-17  浏览次数:20872 次

C# 打开未知文件时,如何做出判断。。。。。
C# code

System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents = false;
proc.StartInfo.FileName = "rundll32.exe";
proc.StartInfo.Arguments = "shell32,OpenAs_RunDLL d:a.txt";
proc.Start();
//上面的代码可以打开一个文上件,对于未知文件可以打开WINDOWS的打开方式
//我现在想如果是未知文件,弹出提示框,“未知的文件”
//这样该如何写呢。。



------解决方案--------------------
文档与程序的关联信息在注册表中
; t0是文件扩展名
; ttt是程序名
HKEY_CLASSES_ROOT\.t0 = 文档类型ID
HKEY_CLASSES_ROOT\ttt.Documenttid\shell\open\command = ttt.EXE %1
HKEY_CLASSES_ROOT\ttt.Documenttid\shell\open\ddeexec = [open("%1")]
HKEY_CLASSES_ROOT\ttt.Documenttid\shell\open\ddeexec\application = ttt
; 注意:此应用程序是可选的
;(默认为“命令”中的应用程序名)
HKEY_CLASSES_ROOT\ttt.Documenttid = 文档类型全称
-----------------------------------
有个API函数 打开指定文档,没有程序与该文档关联时显示“让用户选择应用程序的那个框框”
ShellExecute(this->m_hWnd,"open","c:\\abc.txt","","",SW_SHOW );
 
------解决方案--------------------
try

catch

打不开则未未知,不知是否可以,我没试过,个人感觉实在没办法可一试下