現在、ソフトを起動するためのプログラム・ランチャーを作成中です。
ボタン型で、ボタンには電卓やメモ帳のプログラム・アイコンを設定します。
しかし、ファイルが見つからなかった場合は「SHELL32.dll」のアイコンを設定します。
その後に、ボタンに設定していたアイコン・ハンドルを破棄(DestroyIcon)するとき、
ファイルが見つからなかった場合に「SHELL32.dll」のアイコンを設定していた
アイコンも破棄されてしまいます。
プログラム全体では、起動時に「SHELL32.dll」の全てを読み込んで、
このアイコン・ハンドルを色々と使うため、ボタンに設定していたアイコンを
破棄するときにはアイコン・ハンドルを複製する必要があります。
そこで質問です。
HICON CopyIcon( HICON hIcon );
HICON DuplicateIcon( HINSTANCE hInstance, HICON hIcon );
の違いは、何なのでしょうか?
現在、どちらでも正しく動作はしてます。
しかし、何が違うのかネット上で調べても良く分かりませんでした。
Win32APIに詳しい方にお聞きしたいです。
よろしくお願いします。
違いは無いようです。
http://blogs.msdn.com/b/oldnewthing/archive/2013/10/04/10454223.aspx
ロマさんへ。
> 違いは無いようです。
そうなのですか。
ツイート | ![]() |