ホームページ >バックエンド開発 >C++ >C でファイル拡張子の関連付けをプログラム的に作成する方法

C でファイル拡張子の関連付けをプログラム的に作成する方法

DDD
DDDオリジナル
2024-11-28 04:45:12480ブラウズ

How to Programmatically Create File-Extension Associations in C  ?

C でのファイル拡張子の関連付けの作成

ユーザーが特定のアプリケーションに関連付けられたファイルをダブルクリックすると、オペレーティング システムがそのアプリケーションを起動します。アプリケーションを作成し、ファイル名を引数として渡します。この関連付けは、レジストリ エントリを通じて確立されます。

レジストリ構成

C のアプリケーションにファイル拡張子を登録するには、2 つのレジストリ キーを作成する必要があります:

  1. ProgID: アイコン、説明、およびファイルを開くために使用されるアプリケーション。
  2. ファイル拡張子: 拡張子を ProgID に関連付け、拡張子をファイルにマッピングします。 type.

手順:

  1. ProgID の作成:

    HKEY_CURRENT_USER\Software\Classes\<ProgID>
  2. アソシエイトProgID を使用した拡張子:

    HKEY_CURRENT_USER\Software\Classes\.<Extension>

    値を ProgID に設定します。

例:

.blerg 拡張子を blergcorp.blergapp.v1 ファイル タイプに関連付け、次のレジストリ キー:

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 の SetValue 関数を使用します。キーまたは値が存在しない場合は、自動的に作成されます。

考慮事項:

  • Hive 選択: キーを設定するユーザーごとの関連付けの場合は HKEY_CURRENT_USERSoftwareClasses で、または場合の場合は HKEY_LOCAL_MACHINESoftwareClasses でシステム全体の関連付け。
  • 関連付けの削除: アプリケーションをアンインストールするときは、未使用のエントリが残らないようにレジストリ エントリを削除する必要があります。

結論:

適切なレジストリ エントリを作成することで、ファイルを関連付けることができます拡張子を C アプリケーションに追加すると、ユーザーはアプリケーションを通じて関連ファイルを直接開くことができます。

以上がC でファイル拡張子の関連付けをプログラム的に作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。