CopyIconとDuplicateIconの違いは?

解決


ぴょぴょ  2014-05-15 16:50:37  No: 73885

現在、ソフトを起動するためのプログラム・ランチャーを作成中です。
ボタン型で、ボタンには電卓やメモ帳のプログラム・アイコンを設定します。
しかし、ファイルが見つからなかった場合は「SHELL32.dll」のアイコンを設定します。

その後に、ボタンに設定していたアイコン・ハンドルを破棄(DestroyIcon)するとき、
ファイルが見つからなかった場合に「SHELL32.dll」のアイコンを設定していた
アイコンも破棄されてしまいます。

プログラム全体では、起動時に「SHELL32.dll」の全てを読み込んで、
このアイコン・ハンドルを色々と使うため、ボタンに設定していたアイコンを
破棄するときにはアイコン・ハンドルを複製する必要があります。

そこで質問です。
HICON CopyIcon( HICON hIcon );
HICON DuplicateIcon( HINSTANCE hInstance, HICON hIcon );
の違いは、何なのでしょうか?

現在、どちらでも正しく動作はしてます。
しかし、何が違うのかネット上で調べても良く分かりませんでした。
Win32APIに詳しい方にお聞きしたいです。
よろしくお願いします。


ロマ  2014-05-19 01:57:33  No: 73886

違いは無いようです。
http://blogs.msdn.com/b/oldnewthing/archive/2013/10/04/10454223.aspx


ぴょぴょ  2014-05-25 05:21:14  No: 73887

ロマさんへ。

> 違いは無いようです。
そうなのですか。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加