'txt'ファイルに関連付けられたエディタを開こうとしていますが、ここではこんな感じですが、私のファイルは実際にはtxt
の拡張子があるので、私はただShellExecute
にすることはできません。私は手で関連するプログラムを見つけなければなりません。ファイルをテキストファイルと同じように開く(拡張子が.txtでなくても)
これを行うには、シェルのIApplicationAssociationRegistration::QueryCurrentDefault
COMメソッドを使用しようとしていましたが、ProgIdが返されました。これは私にとって役に立たないものです。これをEXEにどのようにマップできますか?私はC#を使用していますが、関連性がないようです。
編集:レジストリに直接アクセスする以下のリンクは、すべての場合に機能しません。正しい方法は上記ですが、次のステップが必要です。返されたProgIdを取得して関連するプログラムを入手するにはどうすればいいですか?
可能な重複:http://stackoverflow.com/q/162331/1048330 – tenorsax
これは以前からこの方法を試してみましたが、動作しません。アソシエーションをどのように設定するかに応じて、これは不正確な結果を返します –
それはそれについて行く非生産的な方法です。ファイル名拡張子を選択する理由は、その関連性だけです。問題を解決した.txtを選んでください。 –