Введение в Windows Gadget Platform

Windows Gadget Platform/Sidebar доступны под:
  • Windows 7;
  • Windows Vista;
  • Windows Server 2008.
Windows Vista Sidebar эволюционировал в Windows Gadget Platform.
Разработка функционала ведется с помощью XML, HTML, CSS, и script. Данные получаются из локальных приложений или Web сервисов.

Все гаджеты принадлежат процессу sidebar.exe. Положение на экране и настройки для каждого гаджета восстанавливаются при перезапуске процесса sidebar.exe.

Контекстное меню Sidebar и Windows 7 Desktop
Show Desktop Gadgets

В Windows Vista запускается несколько экземпляров процесса sidebar.exe, а в Windows 7 только один.

Для отладки (вкл. отображение скриптовых ошибок во время работы) гаджетов в реестре Windows 7 надо добавить:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Sidebar] "ShowScriptErrors"=dword:00000001

Пути установки гаджетов и права:
  • Пользовательские гаджеты (%localappdata%\Microsoft\Windows Sidebar\Gadgets) - все пользователи могут записывать по этому пути
  • Общие гаджеты (%programfiles%\Windows Sidebar\Shared Gadgets) - только участники Администраторской группы могут записывать по этому пути
  • Windows гаджеты (%programfiles%\Windows Sidebar\Gadgets) - зарезервировано для гаджетов Microsoft, сторонние гаджеты не должны устанавливаться поэтому пути

Gadget Manifest - это XML файл содержащий генеральную конфигурацию и информации о представлении. Каждый гаджет пакет должен включать манифест.

Gadget Platform поддерживает high-DPI возможности. <autoscaleDPI> надо добавить в манифест, если true, то включается  adaptive Zoom в Internet Explorer rendering engine. Zoom масштабирует тексты и изображения для гаджета чтобы они соответствовали DPI настройкам пользователя. 

Пример с <autoscaleDPI/>:
<?xml version="1.0" encoding="utf-8" ?>
<gadget>
        <name>Sample Gadget</name>
        <namespace>windows.sdk</namespace>
        <version>1.0.0.0</version>
        <author name="Microsoft">
                <info url="msdn.microsoft.com" />
                <logo src="logo.png" />
        </author>
        <copyright>&amp;#169; Microsoft Corporation.</copyright>
        <description>Sidebar gadget sample.</description>
        <icons>
                <icon height="48" width="48" src="icon.png" />
        </icons>
        <hosts>
                <host name="sidebar">

                        <!-- New autoscaleDPI node -->
                        <autoscaleDPI>true</autoscaleDPI>

                        <base type="HTML" apiVersion="1.0.0" src="sample.html" />
                        <permissions>Full</permissions>
                        <platform minPlatformVersion="1.0" />
                        <defaultImage src="icon.png" />
                </host>
        </hosts>
</gadget>



--