首頁 > 後端開發 > C++ > 如何以程式設計方式確定 Windows 上特定文件類型的預設應用程式?

如何以程式設計方式確定 Windows 上特定文件類型的預設應用程式?

DDD
發布: 2025-01-04 20:09:40
原創
185 人瀏覽過

How Can I Programmatically Determine the Default Application for a Specific File Type on Windows?

如何識別Windows 上特定檔案類型的預設應用程式

在開發與各種檔案類型互動的應用程式時,有必要識別與開啟這些檔案關聯的預設應用程式。為了實現這一目標,Windows 提供了一種利用特定於平台的功能的方法。

登錄雖然常用,但並不是檢索此資訊的可靠方法,Windows 8.1 中的不穩定性就證明了這一點。因此,首選方法是利用 Win32 API,特別是 AssocQueryString 函數。

使用AssocQueryString 需要從Shlwapi.dll 庫導入必要的定義並建立包裝方法:

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
); 

[Flags]
public enum AssocF
{
    None = 0,
    ...
}

public enum AssocStr
{
    Command = 1,
    ...
}
登入後複製

範例實作如下:

static string AssocQueryString(AssocStr association, string extension)
{
    ...
    return sb.ToString();
}
登入後複製

透過使用適當的方法呼叫此函數參數,開發人員可以檢索與開啟特定檔案類型相關的可執行檔的路徑。這允許在您自己的軟體中啟動文件時與外部應用程式無縫整合。

以上是如何以程式設計方式確定 Windows 上特定文件類型的預設應用程式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板