2016-09-12 11 views
0

У меня есть приложение для создания окон клиент-сервер, и мне нужно сделать границу в углах экрана, чтобы визуально понять, к какому серверу подключен я. Я много искал, но ничего не нашел, поэтому я решил изменить цвет taskbar каждый раз, когда сервер является целью клиента. Но я не знаю, как получить контроль над панелью задач из визуальной студии (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, например, можно сделать с помощью Панель управления-> Персонализация-> Цвет и внешний вид.

Я не думаю, что цвет панели задач имеет какую-либо корреляцию с приложением и что это общесистемный параметр (или, вернее, пользовательский).

Я считаю, что это то, что вам нужно, как изменить цветную тему/схему.

Для этого, я думаю, что вы хотите использовать WIN32API вызов SetSystemVisualStyle (UXTheme.dll)

Можно установить систему цвет темы, но это может быть появиться реальный свет таким образом, чтобы сделать его трудно сказать он вообще изменился. Это может произойти, если стиль окна «Aero Glass» вместо «Aero Basic». Вызов WIN32API для изменения THAT обсуждается во втором ответе на этот вопрос о стеке: How to change windows color scheme using c#?

Для старых версий окон (я думаю), или если вышеупомянутые вызовы API не работают на вас, вы можете попробовать WIN32API звоните: SetWindowTheme (uxtheme.dll)

В вашем вопросе я обратил внимание на dwmapi.dll. Глядя на pinvoke.net, я замечаю некоторые соответствующие вызовы WIN32API, а именно DwmSetColorizationParameters (dwmapi.dll), который походит на то, что он действительно может изменить цвет темы Aero одного окна, а также такие вещи, как прозрачность окна. Тем не менее, из того, что я читал, это может не поддерживаться в новой версии windows/ist, но предполагается, что он создает плавный переход от одного цвета к другому. Для получения дополнительной информации см. Этот код проекта: Changing Windows Aero Color

Сообщите мне, если это сработает для вас, мне было бы интересно узнать, решило ли оно вашу проблему или нет.