2016-09-12 522 views
0

我有一個客戶端 - 服務器窗體窗體應用程序,我需要在屏幕的角落製作邊框以便直觀地瞭解我連接的服務器。我搜索了很多,但什麼都沒找到,所以我想每次服務器是客戶端的目標時都要改變taskbar的顏色。 但我不知道如何從Visual Studio(c#)獲得對任務欄的控制權。 有什麼想法?更改任務欄的顏色

我試着使用:

[DllImport("dwmapi.dll", PreserveSig = false)] 
+0

不知道如何更改整個任務欄區域的顏色,但是您可以嘗試通知用戶任務欄功能。看看這篇文章在任務欄API https://msdn.microsoft.com/en-us/magazine/dd942846.aspx –

回答

0

multipleanswers看到的,你不能更改任務欄的顏色。你可以,但是,根據您的情況下更改應用程序圖標(每臺服務器的圖標,也許)

+0

是的,你可以,加載的Windows程序做到這一點。橙色閃爍,橙色靜態,紅色,黃色,綠色進度,綠色靜態....我已經看到任務欄按鈕上的一大堆顏色。如果只有我會發現如何。 – Edwin

0

改變整個任務欄的顏色(我假設你正在談論Windows 7或更高版本),你有可以通過控制面板 - >個性化 - >顏色和外觀來改變windows的視覺主題顏色。

我不認爲任務欄的顏色與應用程序有任何關聯,並且它是系統範圍的設置(或更準確地說,用戶範圍)。

我相信這就是你以後,如何改變windows的顏色主題/方案。

爲此,我想你想使用WIN32API呼叫SetSystemVisualStyle(的uxtheme.dll)

則可能是設置系統主題顏色,但它可能是出現真正的光,從而使它很難說它完全改變了。如果Windows風格是「Aero Glass」而不是「Aero Basic」,則可能會發生這種情況。 WIN32API調用來改變THAT在第二個這個stackoverflow問題的答案中討論:How to change windows color scheme using c#?

對於舊版本的Windows,(我認爲)或者如果上述API調用不適合你,你可以嘗試WIN32API撥打電話:SetWindowTheme(的uxtheme.dll)

我在你的問題發現,你提到了dwmapi.dll文件。看看pinvoke.net,我注意到一些相關的WIN32API調用,即 DwmSetColorizationParameters(dwmapi.dll),它聽起來確實可以改變單個窗口的Aero主題顏色,以及窗口的透明度等。然而,從我所讀到的,這可能不支持新的/ ist版本的Windows,但它聲稱創建從一種顏色到另一種顏色的平滑過渡。欲瞭解更多信息,請在這裏看到這個代碼項目:Changing Windows Aero Color

讓我知道如果這對你來說,我會好奇聽到,如果這已經解決了你的問題。