が 0 に設定されている場合でも、プロパティBorderStyle
をオンにするか、windows API を直接使用することで、強制的にタスク バーにウィンドウを表示することができます。ただし、このようなタスクバー エントリには、タスクバー エントリに右クリック メニューがありません。それらを右クリックしても、コンテキスト メニューが表示される代わりに何も実行されません。標準またはカスタム ハンドラーをアタッチする方法はありますか?ShowInTaskbar
SetWindowLong Me.hwnd, GWL_EXSTYLE, GetWindowLong(Me.hwnd, Win.GWL_EXSTYLE) Or Win.WS_EX_APPWINDOW
1 に答える
ハックがなければ、あなたはここで立ち往生するだろうと思います、申し訳ありません。VB6のボーダレスプロパティを設定すると、本質的にコントロールメニューが無効になります。コントロールメニュー(通常、ウィンドウのタイトルバーを右クリックするか、左上のアイコンを左クリックするとアクティブになります)は、タスクバーのウィンドウを右クリックしたときに表示されるメニューです。
これで、ハッキングしたい場合は、ユーザーが違いを知らないような方法で動作を「シミュレート」できる可能性があります。usenetのこのメッセージスレッドからアイデアを得ました。
基本的には、2つのフォームを使用してハッキングできるようです。1つのフォームはすぐに最小化され、タスクバーの「スタブ」になります。もう1つのフォームは、現在設計しているフォームです(これを「メイン」フォームと呼びます)。スタブフォームは、メインフォームを実際に読み込んで表示するものです。
スタブフォームはフチなしではなく、コントロールメニューを非アクティブにしてはなりません。画面外に配置され、可能な限り最小のサイズになります。フォームレベルのイベントに応答し、それらを使用して適切な動作をボーダレスフォームに伝達します。
それがハックの一般的な要点です。もし私が今仕事をしていないのなら、私は簡単なVB6プロジェクトを作り上げて、それがあなたのために働くことができるかどうか確かめるでしょう。