kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

IShellDispatch4.ToggleDesktop()を抑止したい

クイック起動のところにある「デスクトップの表示」機能、XPなどではシェルのIShellDispatch4.ToggleDesktop()を呼び出すことで実現できます。ところがこれは最小化させないようにしたウィンドウも最小化してくれます(メッセージボックスとか)。
私の手元にもそういうプログラムがあって、復帰させることができなくて結構困っています。
MyTrashCan
上記のプログラムではToggleDesktop()を抑止しているような記述を見かけるのですが、どうやっているんだろう...結構探したけれど、見つかったのは「クイック起動」から消えてしまった「デスクトップの表示」を復活させる方法ばかり。
逆に復帰させる方法でも…。それとも私が何か勘違いしているとしたら、その指摘でもOK(^^;。ちょっと特殊な環境なので、Pure C+SDKでも起きるか作ってみるかな…。
(追記)試しました。やっぱり私が使っているシステムのランタイムが変な事してる…。MFCで作ったモーダルダイアログでは問題なく復帰できました。やっぱToggleDesktop()の影響を受けない方法…ってあるのだろうか。