Заметка о Virtual Desktop API в Windows 10 (build 10130)
Запись от NickoTin размещена 23.06.2015 в 03:18
Показов 15137
Комментарии 0
Метки desktops, engineering, reverse, virtual, windows 10
|
В данной заметке пойдет речь о недокументированном API управления рабочими столами в Windows 10. Всё описанное в заметке проверялось в build 10130 и может не соответствовать действительности в предыдущих/будущих версиях Windows 10. build 10158: не работает, как минимум отсутствует класс CLSID_VirtualDesktopAPI_Unknown build 10240: Virtual Desktop API в Windows 10 (build 10240) Менеджер рабочих столов (как и в общем вся реализация связанная с рабочими столами) реализован в библиотеке twinui.dll. Данная реализация не использует функционал давно существующих десктопов в Windows: CreateDesktop, CloseDesktop, etc. Путём отладки и некоторого ревёрсинга удалось выцепить следующие COM интефейсы для взаимодействия с рабочими столами:
Пока что под вопросом только интерфейс IApplicationView, расковырять его детально пока не получилось.. Пример управления рабочими столами:
p.s. Как по мне так реализация рабочих столов весьма костыльная, взять хотя бы тот факт что если у приложения есть SplashScreen, то он будет отображаться на всех столах, если какое-то окно перевело на себя фокус, то будешь перекинут на рабочий стол к которому оно относится (например срабатывание бряка в студии), эти моменты весьма раздражают. Что не позволило парням из MS реализовать нативные десктопы на уровне ядра - непонятно, ведь Windows Snapping они реализовали в win32k подсистеме (да-да Snap-реалзиция в ядре )p.p.s. а вы знали о Snap-комбинациях Win+Shift+Up/Down/Left/Right (Up/Down растягивание/сужение окна по высоте, Left/Right перенос окна между мониторами)? В общем как-то так, надеюсь заметка кому-то окажется полезной. По мере обнаружения новой информации постараюсь обновлять заметку. Спасибо за внимание. | ||||||||||
Метки desktops, engineering, reverse, virtual, windows 10
Размещено в RE
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии

)

