我正在使用C#開發一個面向.NET Framework 2.0的應用程序,我需要能夠找到用于打開特定文件類型的默認應用程序。我知道,例如,如果您只想使用該應用程序打開文件,您可以使用以下內容:System.Diagnostics.Process.Start( "C:\...\...\myfile.html" );在默認瀏覽器中打開HTML文檔,或System.Diagnostics.Process.Start( "C:\...\...\myfile.txt" );在默認文本編輯器中打開文本文件。但是,我希望能夠在默認文本編輯器中打開不一定具有.txt擴展名的文件(例如),因此我需要能夠找到打開的默認應用程序。 txt文件,這將允許我直接調用它。我猜測有一些Win32 API,我需要P / Invoke才能做到這一點,但是對谷歌和MSDN的快速瀏覽并沒有發現任何有趣的東西; 我確實找到了大量完全不相關的頁面,但沒有像我在尋找的那樣。
3 回答

慕蓋茨4494581
TA貢獻1850條經驗 獲得超11個贊
您可以在注冊表部分中HKEY_CLASSES_ROOT查看擴展和操作詳細信息。有關此文檔的文檔位于MSDN上?;蛘?,您可以使用IQueryAssociations接口。

繁星點點滴滴
TA貢獻1803條經驗 獲得超3個贊
您只需查詢注冊表即可。首先獲取HKEY_CLASSES_ROOT \ .ext下的Default條目
那會給你一個類名。例如.txt的默認值為txtfile
然后打開HKEY_CLASSES_ROOT \ txtfile \ Shell \ Open \ Command
這將為您提供使用的默認命令。
- 3 回答
- 0 關注
- 642 瀏覽
添加回答
舉報
0/150
提交