ホームページ バックエンド開発 C++ レジストリ エントリを使用してファイル拡張子を C アプリケーションに関連付けるにはどうすればよいですか?

レジストリ エントリを使用してファイル拡張子を C アプリケーションに関連付けるにはどうすればよいですか?

Nov 27, 2024 pm 01:52 PM

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

C でファイル拡張子をアプリケーションに関連付ける : 詳細ガイド

C アプリケーションに関連付けられたファイルをダブルクリックして、パラメータとして渡されたファイル名を使用してアプリケーションを実行すると、レジストリ エントリが作成されます。

レジストリ エントリの作成

MSDN の記事で説明されているように、次の 2 つの重要な手順が必要です。

  • レジストリ エントリの登録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");
ログイン後にコピー

ハイブ選択

例では、これらのキーを HKEY_CLASSES_ROOT に設定することが推奨されていますが、ユーザーごとの関連付けを設定するには HKEY_CURRENT_USER を使用することをお勧めします。これにより、あるユーザーによる変更が他のユーザーに影響を与えないようになります。

クリーンアップ

アプリケーションを削除すると、明示的に削除しない限り、ファイルの関連付け用に作成されたレジストリ エントリは残ります。 。アンインストール中にこれらのエントリを削除するには、レジストリ クリーンアップ メカニズムの実装を検討してください。

追加リソース

詳細については、次を参照してください。

  • [ファイルのベストプラクティス関連付け](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)
  • [ファイルの関連付けの方法Work](https://docs.microsoft.com/en-us/windows/win32/fileassoc/how-file-associations-work)

以上がレジストリ エントリを使用してファイル拡張子を C アプリケーションに関連付けるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C言語関数によって返される値の種類は何ですか?返品値を決定するものは何ですか? C言語関数によって返される値の種類は何ですか?返品値を決定するものは何ですか? Mar 03, 2025 pm 05:52 PM

C言語関数によって返される値の種類は何ですか?返品値を決定するものは何ですか?

GULC:Cライブラリはゼロから構築されています GULC:Cライブラリはゼロから構築されています Mar 03, 2025 pm 05:46 PM

GULC:Cライブラリはゼロから構築されています

c言語関数形式文字ケース変換手順 c言語関数形式文字ケース変換手順 Mar 03, 2025 pm 05:53 PM

c言語関数形式文字ケース変換手順

C言語関数の定義と呼び出しルールは何ですか、そして C言語関数の定義と呼び出しルールは何ですか、そして Mar 03, 2025 pm 05:53 PM

C言語関数の定義と呼び出しルールは何ですか、そして

メモリに保存されているC言語関数の返品値はどこにありますか? メモリに保存されているC言語関数の返品値はどこにありますか? Mar 03, 2025 pm 05:51 PM

メモリに保存されているC言語関数の返品値はどこにありますか?

明確な使用法とフレーズ共有 明確な使用法とフレーズ共有 Mar 03, 2025 pm 05:51 PM

明確な使用法とフレーズ共有

STL(ソート、検索、変換など)のアルゴリズムを効率的に使用するにはどうすればよいですか? STL(ソート、検索、変換など)のアルゴリズムを効率的に使用するにはどうすればよいですか? Mar 12, 2025 pm 04:52 PM

STL(ソート、検索、変換など)のアルゴリズムを効率的に使用するにはどうすればよいですか?

C標準テンプレートライブラリ(STL)はどのように機能しますか? C標準テンプレートライブラリ(STL)はどのように機能しますか? Mar 12, 2025 pm 04:50 PM

C標準テンプレートライブラリ(STL)はどのように機能しますか?

See all articles