私はWindows用のWPFデスクトップアプリケーションを開発しています。これは、独自のファイルタイプを使用します。たとえば、.fooとしましょう。このファイルタイプは、アプリケーションによって変更されたファイルを表します。たとえば、元は.txtでしたが、今は.txt.fooです(または、おそらく私は.txtfooを使用できます)。ファイル拡張子に関連付けられたアイコンを変更することはできますが、置き換えることはできません。
元のアイコンの上に、元のアイコンの上に小さいロックを表示するなど、ソースコントロールシステムと同様の小さなアプリのロゴを表示したいとします。
私はユーザーを混乱させたくないので、私は完全に新しいアイコンを作りたいと思うので、アプリを使う前にすでに知っていたアイコンを見たいと思っています。だから、現状のアイコンの上に小さなロゴを追加したいだけです。
これも可能ですか?
可能です。私は個人的にそれに対してアドバイスをします。これはモーダルダイアログボックスのようなものです。良いアイデアのようですが、地球上のすべての開発者がそれをやろうとした場合、混乱を想像してください。ファイルがあなたのアプリに関連付けられるようになると、あなたのアイコンが表示されます。変更されたメモ帳アイコンや修正されたワードパッドアイコンを表示し、それらのアプリケーションで開くことができないようにすると、***ユーザーの混乱に***が追加されます。 – David
Davidに感謝します。良い点、しかし:あなたの最初の点は問題ではありません。 Im .txtアイコンを修正しようとしていない、.txtfooだけなので、衝突がないと仮定するのが妥当です。 2番目のものについては、実際には、プロセスの後に、最後に元のアプリケーションで開きます:)しかし、とにかく、これは興味深い議論です。あなたはそれをどうやって手伝ってもらえますか? – rgargente
次の操作を行う必要があります。レジストリを読んで、現在使用されているアイコンを確認します。 System.Drawing.Graphicsを使用して開き、変更して新しいアイコンとして保存し、適切なレジストリ設定を作成してファイルの種類をこのアイコンに関連付けます。あなたのアプリにそのようなことをする権利があることを保証する必要があります(お勧めできません)。 Webには、それらのすべてを行う方法を示すコードがあります。完全な解決策は、回答として投稿するのはあまりにも多いでしょう。それで、私は、現実の問題では完全に答えることができないので、「本当の質問ではない」という質問を終わらせることに投票しています。違反はありません... – David