如何以程式設計方式確定 Windows 中文件類型的預設應用程式?
Jan 04, 2025 am 01:46 AM檢索Windows 中檔案類型的預設應用程式
要確定開啟特定類型檔案的預設應用程式,您可以使用Windows 註冊表。在HKEY_CLASSES_ROOT中,每個檔案副檔名都有一個對應的鍵。預設應用程式儲存在此鍵的預設值中。
請考慮以下開啟HTML 檔案的範例:
- 導覽至HKEY_CLASSES_ROOT.html
- 預設值值將包含預設應用程式的登錄項目,例如, HTMLFile
但是,此方法有其限制。它依賴於註冊表的實現,這可能因 Windows 版本而異。更可靠的方法涉及 Win32 API 函數 AssocQueryString。
AssocQueryString
AssocQueryString 可讓您查詢特定檔案的預設應用程式類型。
語法:
uint AssocQueryString( AssocF flags, AssocStr str, string pszAssoc, string pszExtra, [Out] StringBuilder pszOut, ref uint pcchOut );
登入後複製
標誌:
- AssocF.None:使用預設值
Str:
- Ass ocStr.Command:擷取用於開啟指定檔案的命令副檔名
範例:
using System.Runtime.InteropServices; [DllImport("Shlwapi.dll", CharSet = CharSet.Unicode)] public static extern uint AssocQueryString( AssocF flags, AssocStr str, string pszAssoc, string pszExtra, [Out] StringBuilder pszOut, ref uint pcchOut ); AssocF flags = AssocF.Open_ByExeName; AssocStr str = AssocStr.Command; StringBuilder sb = new StringBuilder(); uint pcchOut = 0; uint ret = AssocQueryString(flags, str, ".txt", null, sb, ref pcchOut); if (ret == 0) { Console.WriteLine($"Default text editor: {sb.ToString()}"); } else { Console.WriteLine("Error retrieving default text editor."); }
登入後複製
以上是如何以程式設計方式確定 Windows 中文件類型的預設應用程式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)