首頁 >後端開發 >C++ >如何使用註冊表項將檔案副檔名與我的 C 應用程式關聯起來?

如何使用註冊表項將檔案副檔名與我的 C 應用程式關聯起來?

DDD
DDD原創
2024-11-27 13:52:11449瀏覽

How can I associate a file extension with my C   application using registry entries?

將檔案副檔名與C 中的應用程式關聯:詳細指南

雙擊與C 應用程式關聯的檔案並呼叫將檔案名作為參數傳遞的應用程序,建立註冊表項至關重要。

登錄項目建立

如MSDN 文章所述,涉及兩個關鍵步驟:

  • 註冊ProgID: ProgID(檔案類型登錄項目)儲存檔案類型屬性,包括圖示、描述和上下文選單選項。
  • 註冊檔案副檔名:此步驟將檔案副檔名指派給 ProgID,從而在副檔名和檔案類型之間建立關聯。

示範這些步驟的範例 .reg 檔案如下:

[HKEY_CURRENT_USER\Software\Classes\blergcorp.blergapp.v1\shell\open\command]
@="c:\path\to\app.exe \""%1"\""
[HKEY_CURRENT_USER\Software\Classes\.blerg]
@="blergcorp.blergapp.v1"

程式實作在 C

使用 C 中的 SetValue函數,您可以透過程式設計方式建立登錄項目:

Registry::SetValue(@"HKEY_CURRENT_USER\Software\Classes\blergcorp.blergapp.v1\shell\open\command", null, @"c:\path\to\app.exe \"%1\"\""), 
Registry::SetValue(@"HKEY_CURRENT_USER\Software\Classes\.blerg", null, "blergcorp.blergapp.v1");

Hive Selection

而範例通常建議在HKEY_CLASSES_ROOT 中設定這些鍵,建議使用HKEYCUENT_HKER 設定每用戶關聯。這可確保一個使用者所做的變更不會影響其他使用者。

清理

應用程式刪除後,為檔案關聯建立的登錄項目將保留,除非明確刪除。考慮實施註冊表清理機制以在卸載期間刪除這些條目。

其他資源

有關更多詳細信息,請參閱以下內容:

  • [文件最佳實務關聯](https://docs.microsoft.com/en-us/windows/win32/fileassoc/best-practices-for-file-association)
  • [檔案類型與文件關聯](https:// /docs.microsoft.com/en-us/windows/win32/fileassoc/file-types-and-file-association)
  • [文件關聯方式工作](https://docs.microsoft.com/ en-us/windows/win32/fileassoc/how-file-associations-work)

以上是如何使用註冊表項將檔案副檔名與我的 C 應用程式關聯起來?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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