首頁 >後端開發 >C++ >如何以程式設計方式將檔案副檔名與 C# 中的可執行檔關聯?

如何以程式設計方式將檔案副檔名與 C# 中的可執行檔關聯?

Barbara Streisand
Barbara Streisand原創
2025-01-20 16:14:14476瀏覽

How Can I Programmatically Associate File Extensions with Executables in C#?

在C#中將檔案副檔名與執行檔關聯

C#本身並沒有內建的API來管理檔案關聯。但是,您可以利用註冊表API存取和修改Windows註冊表,因為檔案關聯資訊儲存在註冊表中。

要將特定的檔案副檔名與您的執行檔關聯,您需要在HKEY_CLASSES_ROOT下建立登錄機碼。

  1. 建立檔案副檔名的子項:

    • 在HKEY_CLASSES_ROOT下建立子項,其名稱為檔案副檔名(例如,.txt)。
    • 將此子項目的預設值設為您的檔案類型的唯一名稱,例如「Acme.TextFile」。
  2. 建立檔案類型子項:

    • 在HKEY_CLASSES_ROOT下建立子項,其名稱為上一個步驟中使用的名稱(例如,「Acme.TextFile」)。
  3. 設定預設圖示:

    • 在檔案類型子項下新增一個名為「DefaultIcon」的子項。
    • 將「DefaultIcon」的預設值設定為要使用的圖示的路徑和索引。
  4. 新增上下文選單操作:

    • 在檔案類型子項下建立一個名為「shell」的子項。

    • 在「shell」子項下,為要新增的每個上下文選單操作建立子項目。

    • 將每個操作子項目的預設值設為以下字串:

      • "executable_path" "%1"
      • "executable_path"替換為可執行檔的路徑,將"%1"替換為作為參數傳遞的檔案路徑的佔位符。

例如,要將.txt檔案與EmEditor關聯,您需要建立以下登錄項目:

<code>[HKEY_CLASSES_ROOT\.txt]
@="emeditor.txt"

[HKEY_CLASSES_ROOT\emeditor.txt]
@="Text Document"

[HKEY_CLASSES_ROOT\emeditor.txt\DefaultIcon]
@="%SystemRoot%\SysWow64\imageres.dll,-102"

[HKEY_CLASSES_ROOT\emeditor.txt\shell]

[HKEY_CLASSES_ROOT\emeditor.txt\shell\open]

[HKEY_CLASSES_ROOT\emeditor.txt\shell\open\command]
@="\"C:\Program Files\EmEditor\EMEDITOR.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\emeditor.txt\shell\print]

[HKEY_CLASSES_ROOT\emeditor.txt\shell\print\command]
@="\"C:\Program Files\EmEditor\EMEDITOR.EXE\" /p \"%1\""</code>

以上是如何以程式設計方式將檔案副檔名與 C# 中的可執行檔關聯?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn