Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Секреты Windows: статьи о реестре, rundll32.exe, программах


Приложение D. Использование ActiveX-объектов. Добавление команд к контекстному меню
Дата: 16 июня 2009, вторник

У вас тоже есть сайт? Мы можем поговорить о сотрудничестве между нашими сайтами. Давайте вместе подумаем, как сделать наши сайты лучше. Предлагайте свои варианты сотрудничества. А может вы программист и хотите написать программу? Какую-нибудь программу, для которой очень подошла бы одна из наших баз данных? Пишите о своих предложениях и сути программы, которую вы хотите создать.

В первую очередь под сотрудничеством понимается использование наших баз данных в ваших проектах. Например, вы хотите создать программу «редактор реестра», а у нас как раз есть база с описанием более 5000 ветвей и параметров реестра (http://onestyle.com.ua/o.php?p=149). Так почему бы вам не внедрить возможность непосредственно в вашем редакторе реестра просматривать описание параметров реестра, взятое из нашей базы данных? И т.д. Список всех баз данных можно найти внизу страницы http://onestyle.com.ua/csite.php.

Также мы готовы рассмотреть другие варианты сотрудничества:

  • Размещение рекламы программы/сайта в рассылке, на сайте, в справочниках (http://onestyle.com.ua/down.php?tag=3) либо платно либо в обмен на размещение рекламы нашего сайта и рассылки в интерфейсе вашей программы.
  • Мы можем написать и разместить на нашем сайте статью о работе с программой или вашим сайтом. Данную статью также можно отправить на публикацию в журнал «Мой компьютер». Эту статью вы можете впоследствии разместить на других сайтах. Оплата за статью также либо деньгами либо по бартеру =)

В общем, пишите нам: onestyle [СОБАЧКА] list [ТОЧКА] ru

В конец записи

Как мы уже знаем, чтобы добавить команду к контекстному меню файлов или ActiveX-объектов, нужно добавить соответствующий команде CLSID-номер ActiveX-объекта к ветви реестра HKCR\CLSID\{CLSID-номер ActiveX-объекта}\shellex\ContextMenuHandlers, либо к ветви реестра HKCR\«идентификатор файла»\shellex\ContextMenuHandlers.

Стандартные ActiveX-объекты

Ниже будут рассмотрены стандартные ActiveX-объекты операционной системы Windows Vista, которые добавляют новые элементы контекстного меню значка ActiveX-объекта или файла.

  • {0006F019-0000-0000-C000-000000000046}. Добавляет к контекстному меню команду С ПОМОЩЬЮ MICROSOFT OUTLOOK. С помощью данной команды можно отобразить диалог НАСТРОЙКА OUTLOOK.
  • {09799AFB-AD67-11d1-ABCD-00C04FC30936}. Добавляет к контекстному меню команду OPEN WITH.

    По умолчанию данная команда добавляется ко всем зарегистрированным в операционной системе расширениям файлов при помощи ветви реестра HKCR\*\shellex\ContextMenuHandlers.

  • {1a184871-359e-4f67-aad9-5b9905d62232}. Добавляет к контекстному меню команду INSTALL. С помощью данной команды можно установить шрифт, поэтому она добавляется к контекстному меню файлов различных шрифтов.
  • {2559a1f0-21d7-11d4-bdaf-00c04f60b9f0}. Добавляет к контекстному меню команду SEARCH. Данная команда позволяет отобразить диалог SEARCH RESULTS.
  • {2559a1f1-21d7-11d4-bdaf-00c04f60b9f0}. Добавляет к контекстному меню команду HELP AND SUPPORT.
  • {C2FBB630-2971-11D1-A18C-00C04FD75D13}. Добавляет к контекстному меню команду COPY TO FOLDER…. С помощью данной команды можно отобразить диалог, в котором можно указать папку, в которую будет скопирован соответствующий файл.
  • {C2FBB631-2971-11d1-A18C-00C04FD75D13}. Добавляет к контекстному меню команду MOVE TO FOLDER…. С помощью данной команды можно отобразить диалог, в котором можно указать папку, в которую будет перемещен соответствующий файл.
  • {b8cdcb65-b1bf-4b42-9428-1dfdb7ee92af}. Добавляет к контекстному меню команду EXTRACT ALL.

    По умолчанию данная команда добавляется при помощи ветви реестра HKCR\CompressedFolder\ShellEx\ContextMenuHandlers.

  • {f81e9010-6ea4-11ce-a7ff-00aa003ca9f6}. Добавляет к контекстному меню команду SHARE.

    По умолчанию данная команда добавляется ко всем зарегистрированным в операционной системе расширениям файлов при помощи ветви реестра HKCR\*\shellex\ContextMenuHandlers.

  • {2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}. Добавляет к контекстному меню команду ВЫПОЛНИТЬ.
  • {2559a1f4-21d7-11d4-bdaf-00c04f60b9f0}. Добавляет к контекстному меню команду BROWSE THE INTERNET, а также команду INTERNET PROPERTIES. Данная команда запускает браузер INTERNET EXPLORER.
  • {2559a1f5-21d7-11d4-bdaf-00c04f60b9f0}. Добавляет к контекстному меню команду READ E-MAIL. Данная команда запускает почтовый клиент Outlook.
  • {2559a1f7-21d7-11d4-bdaf-00c04f60b9f0}. Добавляет к контекстному меню команду SET PROGRAM ACCESS AND COMPUTER DEFAULTS. Данная команда запускает одноименный диалог.
  • {3080F90D-D7AD-11D9-BD98-0000947B0257}. Добавляет к контекстному меню команду SHOWS DESKTOP. После выбора данной команды все окна программ будут минимизированы, и отобразится рабочий стол операционной системы.
  • {32714800-2E5F-11d0-8B85-00AA0044F941}. Добавляет к контекстному меню команду FIND PEOPLE. Данная команда отображает диалог поиска в адресной книге.
  • {596AB062-B4D2-4215-9F74-E9109B0A8153}. Добавляет к контекстному меню команду RESTORE PREVIOUS VERSIONS.

    По умолчанию данная команда добавляется к файлам всех типов расширений при помощи ветви реестра HKCR\AllFilesystemObjects\shellex\PropertySheetHandlers.

  • {645FF040-5081-101B-9F08-00AA002F954E}. Добавляет к контекстному меню команду EMPTY RECYCLE BIN. Данная команда позволяет очистить содержимое КОРЗИНЫ.
  • {7444C717-39BF-11D1-8CD9-00C04FC29D45}. Добавляет к контекстному меню команду OPEN, с помощью которой открываются файлы публичных ключей, имеющие расширение .PKO.
  • {7968860a-1ac6-482e-8f90-0874a1b6a79f}. Добавляет к контекстному меню команду EDIT.
  • {7BA4C740-9E81-11CF-99D3-00AA004AE837}. Добавляет к контекстному меню команду SENDTO. С помощью данной команды можно переместить файлы или папки в каталоги или объекты, ссылки на которые указаны в каталоге %userprofile%\AppData\Roaming\Microsoft\Windows\SendTo

    По умолчанию данная команда добавляется ко всем объектам файловой системы Windows Vista при помощи ветви реестра HKCR\AllFilesystemObjects\shellex\ContextMenuHandlers.

  • {7D4734E6-047E-41e2-AEAA-E763B4739DC4}. Добавляет к контекстному меню команду PLAY WITH MEDIA PLAYER. Данная команда запускает проигрыватель Windows Media Player и, если обнаруживает музыкальный файл среди содержимого каталога (если команда добавлена к контекстному меню каталога), пытается его воспроизвести.

    По умолчанию данная команда добавляется при помощи ветви реестра HKCR\SystemFileAssociations\Directory.Audio\shellex\ContextMenuHandlers.

  • {8A734961-C4AA-4741-AC1E-791ACEBF5B39}. Добавляет к контекстному меню команду SHOP FOR MUSIC ONLINE. Данная команда запускает браузер Internet Explorer и открывает сайт http://go.microsoft.com/fwlink/?LinkId=57315&clcid=0x419.

    По умолчанию данная команда добавляется при помощи ветви реестра HKCR\SystemFileAssociations\Directory.Audio\shellex\ContextMenuHandlers.

  • {8DD448E6-C188-4aed-AF92-44956194EB1F}. Добавляет к контекстному меню команду ADD TO BURN LIST. С помощью данной команды можно добавить файл к списку файлов, которые будут записываться на диск.

    По умолчанию данная команда добавляется при помощи ветви реестра HKCR\SystemFileAssociations\Directory.Audio\shellex\ContextMenuHandlers.

  • {A8E64375-B645-4314-9EFC-C085981786FA}. Добавляет к контекстному меню команду CLEAR RECENT ITEM LIST.
  • {CE3FB1D1-02AE-4a5f-A6E9-D9F1B4073E6C}. Добавляет к контекстному меню команду PLAY WITH MEDIA PLAYER. Данная команда запускает проигрыватель Windows Media Player и воспроизводит соответствующий музыкальный файл.

    По умолчанию данная команда добавляется к файлам с расширением .AIF, .ASF, .ASX, .AU, .AVI, .m3u, .mid и т.д.

  • {F1B9284F-E9DC-4e68-9D7E-42362A59F0FD}. Добавляет к контекстному меню команду ADD TO WINDOWS MEDIA PLAYER LIST.

    По умолчанию данная команда добавляется к файлам с расширением .AIF, .ASF, .ASX, .AU, .AVI, .m3u, .mid и т.д.

  • {f3d06e7c-1e45-4a26-847e-f9fcdee59be0}. Данный ActiveX-объект добавляет к контекстному меню файлов команду COPY AS PATH. Данная команда отобразится после того, как вы зажмете клавишу SHIFT и вызовете контекстное меню файлов.

    По умолчанию данная команда добавляется к файлам всех типов расширений при помощи ветви реестра HKCR\AllFilesystemObjects\shellex\PropertySheetHandlers.

  • {FBF23B40-E3F0-101B-8488-00AA003E56F8}. Добавляет к контекстному меню команду OPEN, предназначенную для открытия файлов ярлыков страниц Интернет.

    По умолчанию данная команда добавляется к файлам с расширением .url.

Пример добавления команды к контекстному меню

В качестве примера давайте попробуем зарегистрировать свой собственный ActiveX-объект, после чего отобразить его в какой-нибудь папке файловой системы компьютера.

Шаг 1. Регистрируем свой ActiveX-объект

Первым этапом будет регистрация своего ActiveX-объекта в операционной системе Windows Vista. Как и в предыдущем примере, давайте для этого воспользуемся листингом (листинг 9.4), отображающем reg-файл тех действий, которые нужно произвести.

В контексте данной книги не объясняется процесс создания уникального ActiveX-объекта. В примере используется не уникальный CLSID-номер ActiveX-объекта, а введенный наугад.

Листинг 9.4. Файл, регистрирующий новый ActiveX-объект
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{FFFFFFFF-FFFF-FFFF-FFFF-F53F46C2B1A7}]
 ="TEST_ActiveX"

[HKEY_CLASSES_ROOT\CLSID\{FFFFFFFF-FFFF-FFFF-FFFF-F53F46C2B1A7}\DefaultIcon]
 ="%SystemRoot%\\System32\\imageres.dll,-33"

[HKEY_CLASSES_ROOT\CLSID\{FFFFFFFF-FFFF-FFFF-FFFF-F53F46C2B1A7}\shellex]

[HKEY_CLASSES_ROOT\CLSID\{FFFFFFFF-FFFF-FFFF-FFFF-F53F46C2B1A7}\shellex\ContextMenuHandlers]

Шаг 3. Формируем команды его контекстного меню

Для примера давайте добавим следующие стандартные команды к контекстному меню нашего ActiveX-объекта.

  • {32714800-2E5F-11d0-8B85-00AA0044F941}. Позволяет отобразить диалог поиска среди контактов адресной книги.
  • {645FF040-5081-101B-9F08-00AA002F954E}. Позволяет очистить содержимое КОРЗИНЫ.
  • {7D4734E6-047E-41e2-AEAA-E763B4739DC4}. Позволяет запустить проигрыватель Windows Media Player.

Для этого просто достаточно добавить соответствующие дочерние подразделы к ветви реестра HKCR\CLSID\{FFFFFFFF-FFFF-FFFF-FFFF-F53F46C2B1A7}\shellex\ContextMenuHandlers.

Шаг 4. Отображаем зарегистрированный ActiveX-объект

И последний этап — отображение созданного нами ActiveX-объекта.

В следующей главе книги будут описаны способы добавления ActiveX-объекта к одной из специальных папок. Сейчас же мы рассмотрим пример добавления ActiveX-объекта к панели быстрого запуска. Для этого достаточно создать в каталоге %userprofile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch папку, после чего добавить к названию данной папке строку .{FFFFFFFF-FFFF-FFFF-FFFF-F53F46C2B1A7}. Результат этого действия отображается на рисунке 9.02.


Рис. 9.02. Отображение свойств ActiveX-объекта для папки панели быстрого доступа

Продолжение следует

Рейтинг: 5.00 [ 2 ] 
Оцените: 1 2 3 4 5
moemesto.ru bobrdobr.ru - добавить в социальные закладки
В начало записи
Оригинал статьи: http://www.onestyle.com.ua/txt.php?u=557

В избранное