Гаджеты в Windows 7 – это HTML или скриптовые приложения, которые отображают какую либо информацию из сторонних источников или выполняют определенную функцию.
Например, гаджет погоды отображает информацию о погодных условиях, а гаджет записки обеспечивает простейший функционал для создания ежедневных записей. Обычно Гаджеты Windows 7 визуально привлекательны и оптимизированы для того, чтобы можно было качественно выполнять какую-то одну конкретную задачу.
Чаще всего гаджеты можно увидеть на боковой панели Windows (Sidebar), которая обычно расположена на правой стороне рабочего стола. Гаджеты в Windows 7 могут быть расположены не только на боковой панели. Для этого достаточно просто их поместить в любое место рабочего стола. Гаджеты – это часть рабочего стола так же, как и кнопка Start и область уведомлений.
Из чего состоит гаджет для windows 7?
Как правило, простейший гаджет в Windows 7 состоит из 2-х файлов:
1. html файл (gadget.html) – в этом файле описан внешний вид гаджета и его функциональность.
2. xml файл (gadget.xml) – конфигурационный файл или еще его называют файл манифеста, который включает в себя всю информацию о гаджете и его настройках.
Как создать гаджет в Windows 7?
Этап №1
Для начала надо создать директорию, в которой будет находиться гаджет. По мнению специалистов Microsoft, очень удобным является директория разделенная точкой. Например: first.gadget. Но на самом деле не имеет значения, как будет называться папка. Главное чтобы было понятно.
Разместить папку можно где угодно, но при создании и тестировании гаджета удобней всего размещать в системных папках. Например:
%SYSTEM_ROOT%\Program Files\Windows Sidebar\Gadgets (для всех пользователей)
На рис. 1 можно увидеть, что директория с гаджетом расположена в%USER_DATA%\Local\Microsoft\Windows Sidebar\Gadgets
Этап №2
Затем создаем файл манифеста в директории гаджета.
"Манифест” гаджетов – это XML файл, который содержит общую конфигурацию и информацию для ассоциированного гаджета. Информация, указанная манифестом, включает мета-информацию, которая передается пользователю в диалоге информации о гаджетах таких как: иконка для гаджета, разработчика гаджета и т.п. Вся эта информация определяется в манифесте. Имя манифеста всегда должно быть gadget.xml.
Пример файла gadget.xml:
<gadget>
<name>Ivanov Ivan Test</name>
<namespace> IvanovIvan.gadget</namespace>
<version>0.0.1</version>
<author>
<info url=”http://ivan.spaces.live.com” text=”ivan.spaces.live.com” />
<logo src=”" />
</author>
<copyright>© Ivanov Ivan </copyright>
<description>My test gadget</description>
<icons>
<icon height=”48″ width=”48″ src=”images\icon.gif” />
</icons>
<hosts>
<host>
<base apiVersion=”1.0.0″ src=”main.html” />
<permissions>Full</permissions>
<platform minPlatformVersion=”1.0″ />
<defaultImage src=”icon.gif” />
</host>
</hosts>
</gadget>
Элемент <xml>Обязательный.
Декларация XML определяет версию XML и шифрование символов, используемых в документе. Этот специфический документ соответствует спецификации XML 1.0 и использует набор символов UTF-8 (unicode).
Свойства:
Version. Обязателен. Значение – 1.0.
Encoding. Обязателен. Значение – UTF-8.
Элемент <gadget>Обязательный.
У элемента <gadget> нет атрибутов, но он включает в себя элементы потомков, которые и определяют сам гаджет.
Обязательные элементы:
<name>
Элемент <name> представляет собой имя пользователя, которое отображается в описании гаджета на странице панели управления Windows Sidebar и непосредственно на самой боковой панели.
<version>
Элемент <version> определяет версию гаджета. Sidebar использует это значение во время установки гаджета. Если уже был установлен гаджет с таким же именем, то Sidebar прежде всего сравнивает версии и если версии различаются, то пользователь вынужден выбрать соответствующую версию.
Действительные строки версии являются формой major.minor.revision.build. Каждый из этих номеров (или восемь символов) может содержать от 0 до 4 цифр, между значениями 0 и 9.
<hosts>
Элемент <hosts> является контейнером для одного или более элементов <hosts>.
Элемент потомок:
<host>
Обязательный. Элемент <host> идентифицирует приложение, которое принимает гаджет. Его элементы потомки определяют поведение гаджета для специфического хостового приложения.
Атрибуты:
Name. Обязательный. Необходимое значение – ‘sidebar’
<base>
Элемент <base> обеспечивают Sidebar файлом type и обязательной информацией версии API для управлением гаджета.
Атрибуты:
Type. Обязательный. Необходимое значение – ‘HTML’
Src. Обязательный. Указывает, какой файл должен загружать Sidebar для выполнения приложения.
apiVersion. Обязательный. Необходимое значение – 1.0.0
<permissions>
Необходимое значение – ‘Full’
<platform>
Элемент <platform> указывает боковой панели минимальную версию Windows, которая может управлять приложением.
Атрибуты:
minPlatformVersion. Обязательный. Необходимое значение – ‘1.0’
<defaultImage>
Определяет графические элементы, которые отображаются на панели управления гаджетами
Атрибуты:
Src. Обязательный. Путь к графическому файлу.
<namespace>
Элемент <namespace> зарезервирован для будущего использования.
<author>
Элемент <author> отображает информацию о разработчике гаджета.
Атрибуты:
Name. Обязательный. Имя разработчика гаджета.
<info>Опциональный
Элемент <info> отображает более подробную информацию о разработчике.
Атрибут:
URL. Обязательный. Ссылка на сайт разработчика.
<logo>
Элемент <logo> определяет графический файл или иконку, ассоциированную с разработчиком, которая отображается рядом с именем автора на панели управления гаджетами.
Атрибуты:
Src. Обязательный. Путь к графическому файлу.
<copyright>
Элемент <copyright> отображает лицензионные права, которые принадлежат разработчику. Может содержать любую строку символов.
<description>
Значение элемента <description> отображает для пользователя в Gadget Gallery диалоговое окно.
<icons>
Элемент <icons> определяет размер и графический файл иконки гаджета. Графическим файлом может быть любой файл, который поддерживается GDI+ 1.0.
Атрибуты:
Height. Опциональный. Целое число, которое указывает высоту, в пикселях, иконки графического файла.
Width. Опциональный. Целое число, которое указывает ширину, в пикселях, иконки графического файла.
. Src. Обязательный. Путь к графическому файлу.
Этап №3
Создадим html файл в директории с гаджетом. Пример файла:
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=Windows-1251″ />
<link href=”css/gadget.css” rel=”stylesheet” type=”text/css” />
<script src=”js/main.js” language=”javascript”></script>
</head>
<body style=”background-image: url(images/background.png);”>
<div>Для того, чтобы перейти на сайт, нужно клинкуть по следующей ссылке:
<a href=”http://mysite.ru” title=”My Name”>Test gadget</a></div>
</body>
</html>
Итак, у нас получилось 2 файла main.html и gadget.xml. Также есть 3 вложенные директории – css, images и js, в которых расположены каскадная таблица стилей, графические элементы и, соответственно, скрипт main.js.
Делаем свой гаджет для windows 7 (seven)
СЕН24
Думаю каждый из пользователей windows 7 хоть раз но задумывался как работают гаджеты в вашей боковой панели. И я как то задумался, оказалось все до удивительного просто — гаджет имеет структуру схожую с веб страницей, и по суте ей и является, только для удобства её запаковали в ZIP архив и поменяли разрешение на *.gadget.
Ну а теперь подробнее из чего состоит гаджет:
1) Файл gadget.xml (и думаю самый главный), в нем описан манифест гаджета, имя разработчика, сайт, версия, путь к логотипу и т.п. Вот его примерная структура:
?Download gadget.xml
<gadget>
<name>
Название гаджета
</name>
<version>
версия гаджета
</version>
<author name="имя автора">
<info url="ссылка на сайт разработчика"/>
<logo src="путь к логотипу"/>
</author>
<copyright>
Владелец гаджета
</copyright>
<icons>
<icon width="64" height="64" src="путь к иконке гаджета"/>
</icons>
<hosts>
<host name="sidebar">
<base type="HTML" apiVersion="1.0.0" src="путь к файлу.html основное окно"/>
<permissions>
full
</permissions>
<platform minPlatformVersion="0.3"/>
</host>
</hosts>
</gadget>
Тут подробнее описаны элементы манифеста:
Особое внимание уделите 20 строчке — в ней путь к файлу html основного окна гаджета.
2) Создайте ваш основной html файл, в нем описывайте все как в обычной веб страничке, можете подключить CSS, javascript и др.
Для описания заднего плана вашего гаджета воспользуйтесь строкой:
Собственно когда гаджет готов, вам остается только запаковать его в zip архив, а затем переименовать.zip в.gadget, после запуска он попросит установку и начнет работать.
Когда я делал гаджет, я задумывал сделать гаджет онлайн радио, и вот собственно что у меня вышло:
После распаковки архива вы увидите гаджет в 6 цветах, выбираете радио из списка и нажимаете на него, оно начинает играть, собственно качайте гаджет радио онлайн, если интересно можете ему сделать вскрытие.