我試圖在啓動時啓動窗體,並將它作爲我的應用程序的整個運行時間保持爲背景。基本上我想隱藏所有的桌面圖標,並有一個空白的背景。此外,當用戶點擊某些按鈕時,我希望BackColor的形式發生變化。winforms桌面上的窗口/最底部的窗口
我搜查了一堆,我一直找到一半的解決方案。這裏是我到目前爲止已經試過:
創建會取代的WndProc事件BackBaseForm,如果它WM_WINDOWPOSCHANGING
,我不叫base.WndProc(ref m)
,而是發送以下信息:
SetWindowPos(Handle, new IntPtr(1), 0, 0, this.width, this.height, SWP_NOZORDER);
然而,每當我點擊表單時,它仍然會將它帶到前面。我也嘗試創建一個WINDOWPOS
結構,將指針調度到結構,然後修改結構。我不認爲這會改變消息中的實際lParam
。
將有許多表單從幾個不同的程序集啓動,這將工作嗎? – user1030064
只要所有的窗口都在同一個進程中,哪個程序集的窗體都是無關緊要的。即使在不同的進程中,您也應該可以做到這一點,但您需要使用一些較低級別的Win32 API調用。 –