Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 10

Можно ли изменить внешний вид боковой панели (charms) в Windows 8.1?

01.02.2014, 19:55. Показов 2240. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно ли изменить внешний вид боковой панели (charms) в Windows 8.1? Хочу добавить на нее свои элементы.
В поисковике нашел только как добавить кнопочку в меню "поделиться" и т.п., а мне нужно добавить кнопочки на левую боковую панель.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.02.2014, 19:55
Ответы с готовыми решениями:

Шаблон для ListView. Изменить внешний вид ColumHeader. Изменить внешний вид ListViewItem'ов. Подробности, код, скриншоты внутри...
Здравствуйте. Есть ListView, я к нему делаю шаблон. И появилось несколько вопросов. 1) Как в этом шаблоне изменить цвет каждого...

Где в Windows 7 находится опция, в которой можно выбрать внешний вид системы?
Где в Windows 7 находится опция, в которой можно выбрать внешний вид системы? Это не Перонализация.

Windows xp - как можно изменить вид?
люди у меня windos xp и мен надое его вид кто знает как можно изменить вид если можно кто знает помогите?

7
Неадекват
 Аватар для freeba
1499 / 1236 / 247
Регистрация: 02.04.2010
Сообщений: 2,807
03.02.2014, 17:43
Увы нет. Да и зачем?
0
Заблокирован
04.02.2014, 00:22
Не работал с этой панелью, но наверняка она представляет собой обычное окно.
Значит, изменить её можно средствами WinAPI.

Для начала нужно узнать оконный класс этого окна.
Для этого можно использовать WindowFromPoint и GetClassName.
Должны быть и специальные утилиты (возможно, такой функционал есть в Spy++).

Узнав оконный класс, можно получить по нему hWnd окна с помощью FindWindow, а уже в это окно добавить какие-то контролы.

Есть и более низкоуровневое решение, с хуком на WM_CREATE.

Но для всего этого, как видите, нужны хотя бы начальные знания WinAPI.
Вы знаете WinAPI?
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
04.02.2014, 01:25
Водяной Змей, афайк charms это modernUI компонент, какой винапи? Я его устройство не помню, он конечно основные винапи функции поддерживает, но уверен, что достаточной совместимостью не обладает. Его же проектировали самое раннее 5 лет назад, а то и позже. На пустом месте, конечно, возвести его никто не собирался, но и не с поддержкой апи 30-летней давности.
0
Заблокирован
04.02.2014, 01:48
Psilon,
он конечно основные винапи функции поддерживает, но уверен, что достаточной совместимостью не обладает.
Что понимается под достаточной совместимостью?

Максимум - на нём нельзя размещать стандартные контролы и контролы вообще, а все якобы контролы, на самом деле являются картинками, рисуемыми GDI+ или директом, и поэтому не имеют хендлов и своих hDC.
Так обстоит дело, например, с контролами WPF, на которой и основан Metro.

Но сами панели, фреймы приложений Metro и т.д., наверняка имеют хендл, а значит, и hDC.
Ну не на рабочем же столе они рисуются.
Следовательно, к ним можно что-нибудь подрисовать и перехватить их события типа кликов.
0
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 10
08.02.2014, 14:12  [ТС]
Водяной Змей, с WinAPI работал немного, правда на Delphi.
На левую панель Handle спокойно получает, GetClassName пишет "ImmersiveSwitchList", а GetWindowText - "Список последних приложений".
А на C# только через DLLImport, или можно без WinAPI через .net? И как контролы встраивать, где можно почитать?
0
Заблокирован
08.02.2014, 17:10
Arsennikum,
На левую панель Handle спокойно получает, GetClassName пишет "ImmersiveSwitchList", а GetWindowText - "Список последних приложений".
А что с правой панелью?

Если не выходит получить заголовок или имя оконного класса панели, можно попробовать получить заголовок и имя классов родительского окна (parent) панели.

или можно без WinAPI через .net?
Нельзя.
.NET не содержит Managed-сборок для функций WinAPI и тем более не дублирует стандартные библиотеки винды типа user32.dll, которые и составляют WinAPI.

И как контролы встраивать, где можно почитать?
Сначала нужно попытаться встроить контрол (а лучше сразу окно) через http://msdn.microsoft.com/en-us/library/windows/desktop/ms633541(v=vs.85).aspx
Но Charms Bar отрисовывается с помощью DirectX, поэтому данный способ может и не пройти.
Тогда придётся рисовать свои контролы средствами DirectX или GDI+ на этой панели, а клики перехватывать с помощью хуков.
0
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 10
15.02.2014, 19:17  [ТС]
Водяной Змей,
А что с правой панелью?

Если не выходит получить заголовок или имя оконного класса панели, можно попробовать получить заголовок и имя классов родительского окна (parent) панели.
Что-то вообще странно. На любое окно на рабочем столе GetClassName говорит "EdgeUiInputWndClass", причём и у корневого окна, а у родительского у любого пишет "#32769".
А на правую панель показывает класс окна на заднем плане.
Короче говоря лучше скопирую вывод (Handle определяю по WindowFromPoint):

Любое окно на рабочем столе:
GetClassName = EdgeUiInputWndClass
GetWindowText =
GetClassName GA_PARENT = #32769
GetClassName GA_ROOT = EdgeUiInputWndClass

Левая панель:
GetClassName = ImmersiveSwitchList
GetWindowText = Список последних приложений
GetClassName GA_PARENT = #32769
GetClassName GA_ROOT = ImmersiveSwitchList
GetClassName GA_ROOTOWNER = ImmersiveSwitchList

Правая панель:
GetClassName = MozillaWindowClass
GetWindowText = Яндекс - Mozilla Firefox
GetClassName GA_PARENT = #32769
GetClassName GA_ROOT = MozillaWindowClass
GetClassName GA_ROOTOWNER = MozillaWindowClass
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.02.2014, 19:17
Помогаю со студенческими работами здесь

Внешний вид панели задач
Здравствуйте, при обновлении драйвера в geforce experience на некоторое время моя панель задач стала выглядеть вот так: А через...

Внешний вид панели: приподнятая, вдавленная, плоская с выпуклым/вдавленным бортиком
До недавнего времени я программировал в С++Builder, а теперь перешёл на C#. Возникает проблема с поиском соответствий.... Например в...

Ошибка при запуске боковой панели на Windows Vista
Перестала запускаться боковая панель на Windows Vista. При запуске появляется сообщение об ошибке следующего содержания: An unhandled...

Как настроить погоду на боковой панели Windows Vista?
как настроить погоду на боковой панели Wista? Было настроено настройки как то сбились, выдает Во время выполнения произошла ошибка....

Изменить внешний вид таблицы
Вот, к примеру, одна из страниц сайта с таблицей. Как изменить её внешний вид: цвет шрифта, цвет границ, и убрать крайние левую и правую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru