起動時にフォームを起動し、実行中ずっとアプリケーションのバックグラウンドとして維持しようとしています。基本的に、すべてのデスクトップ アイコンを非表示にして、背景を空白にしたいと考えています。さらに、ユーザーが特定のボタンをクリックすると、フォーム BackColor が変更されます。
私はたくさん検索しましたが、半分の解決策を見つけ続けています。これが私がこれまでに試したことです:
WndProc イベントをオーバーライドする BackBaseForm を作成しました。その場合はWM_WINDOWPOSCHANGING
、呼び出しを行わずbase.WndProc(ref m)
、代わりに次のメッセージを送信します。
SetWindowPos(Handle, new IntPtr(1), 0, 0, this.width, this.height, SWP_NOZORDER);
ただし、フォームをクリックするたびに、フォームが前面に表示されます。また、構造体を作成し、WINDOWPOS
構造体へのポインターをマーシャリングしてから、構造体を変更しようとしました。lParam
ただし、これがメッセージの実際の内容を変更するとは思いません。