DOBON.NET DOBON.NETプログラミング掲示板過去ログ

Windows 7のジャンプリストの「ウィンドウを閉じる」を非表示にするには

環境/言語:[Windows 7 / .NET 2.0 / Windows Formアプリケーション]
分類:[.NET]

こんにちは。

こちらの「CreateParamsをオーバーライドする方法」を使ってWindows Formを
ユーザーが閉じる操作を無効にしました。
http://dobon.net/vb/dotnet/form/disabledclosebutton.html

ところが、Windows 7の場合、この方法を使用してもジャンプリストの「ウィンドウを閉じる」
メニューは有効になったままになるようです。

これを非表示あるいは無効にすることはできないでしょうか?
よろしくお願いします。
海外のフォーラムですが、紹介しておきます。

Disabling Close window option in windows 7
http://social.msdn.microsoft.com/Forums/en-US/vbpowerpacks/thread/681083c4-70ff-4c22-aab8-fd51b13658b6

これを眺める限り、望むものそのものはできなさそうですね。
タスクバーに表示しない、閉じるのをキャンセルするといった回避策が提案されている状況です。
ありがとうございます。
やはり正攻法の解決は難しいのでしょうか。

タスクバーに表示しないという選択肢は避けたいので、
何か解決法がありましたら引き続きお願いします。
■No31020に返信(CRTさんの記事)
> http://dobon.net/vb/dotnet/form/disabledclosebutton.html
>
↑の「閉じられる原因を調べて判断する方法」の「WndProc」を組み合わせてみてはどうですか?
C#2010で確認した所、ジャンプリストで閉じなくなってました。
プログラム内からthis.Close()で閉じられることも確認できました
GOD さん

ありがとうございます。

確かにSC_CLOSEを無視することで、Closeメソッドでコードからフォームを閉じる手段を
確保しつつ、かつジャンプリストのメニューをユーザーが選択することによってFormが
閉じられることを抑止することが可能なのですが、可能であればジャンプリストのメニュー
そのものを無効あるいは非表示にできないかと考えております。

DOBON.NET | プログラミング道 | プログラミング掲示板