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

Лучшие статьи журнала ╚Компьютеры+Программы╩


Информационный Канал Subscribe.Ru

Здравствуйте, уважаемые читатели!

Одиннадцатый номер журнала «Компьютеры+Программы» готов. Выбор статьи, которая будет опубликована в этом выпуске, определился голосованием по содержанию номера и анонсам статей. Результаты голосования выглядят следующим образом.

АвторСтатьяГолосов
Татьяна МИХНОКОНСТРУКТОР ОТ MICROSOFT, или Переделываем Internet Explorer своими руками53
Владимир БЕЗМАЛЫЙБеззащитность Windows 95/98/ME42
Александр КОЛОТЕНКОСканирование через сеть40
Сергей ГРИЦАЧУКЖесткие диски34
Вячеслав БЕЛОВСайт + IE = трафик31
Алексей СОБОЛЕВМагия жидкого кристалла24
Виталий КРАВЧЕНКОМузыкальный центр на рабочем столе24
Александр ВАВРИСЕВИЧЭВОЛЮЦИЯ LCD-МОНИТОРОВ. Часть 1. «Пятнашки»23
Сергей БОЛАШОВПроблемы настольного издательства20
Виталий ГРИЩЕНКОИскусство быть бессмертным14
Максим ЗИННАТОВ3D-живность: свободный полет8
Альберт ЛАНТУХ-ЛЯЩЕНКОАвтоматизация проектирования объектов строительства6

Таким образом, наибольший интерес у читателей рассылки вызвала статья Татьяны МИХНО КОНСТРУКТОР ОТ MICROSOFT, или Переделываем Internet Explorer своими руками, которая и предлагается вашему вниманию в этом выпуске. Второе место заняла статья Владимира БЕЗМАЛОГО Беззащитность Windows 95/98/ME, а третье место — статья Александра КОЛОТЕНКО Сканирование через сеть. Эти статьи мы опубликуем в следующих выпусках рассылки.

Дорогие читатели! Редакция будет рада узнать ваше мнение о прочитанных статьях. Пишите нам в редакцию по адресу ep_big@comizdat.com или на дискуссионный лист cplusp-subscribe@yahoogroups.com.


Татьяна МИХНО,
tanja@svitonline.com

Конструктор от Microsoft,
или Переделываем Internet Explorer своими руками

Используя не совсем стандартный подход к настройкам операционной системы, можно значительно расширить возможности любимого браузера. Любимого — несмотря на то, что Netscape красивее выглядит, а Opera быстрее работает и потребляет меньше ресурсов...

Лично меня Internet Explorer привлек своей серьезной функциональностью и, только не смейтесь, открытостью, легкостью программирования под него. Интерфейсы этого браузера документированы в MSDN настолько хорошо, насколько это позволяют амбиции Microsoft, заинтересованной в популярности своего браузера.

Итак, не откладывая в долгий ящик, начнем хотя бы с того, что Internet Explorer (IE) можно запускать c ключом. Например, в меню Start > Run (Пуск > Выполнить) Панели задач введите iexplore.exe и, через пробел, одно из значений, приведенных в следующей таблице.
Таблица 1. Значения ключей, применяемых при запуске Internet Explorer
-channelband IE как Desktop Toolbar, отображает Channels Directory согласно настроек текущего пользователя. Эта опция доступна в том случае, когда Active Desktop выключен. Только для IE4. — в принципе, вряд ли понадобиться
-e IE запускается в режиме Explorer (в виде двух стандартных панелей: слева — My Computer, справа Internet)
-new запуск IE отдельным процессом. Если он зависнет, это никак не отразится на остальных копиях IE
-nohome при запуске IE не открывать веб-страницу
-slf при запуске IE домашняя страница по умолчанию открывается из кэша — это значительно ускоряет ее загрузку, но ничего нового вы там не увидите
-k запуск IE в полноэкранном режиме

Этими ключами может быть полезно воспользоваться, например, при запуске IE из ярлыка на рабочем столе.

А теперь давайте изменим внешний вид многострадального детища Microsoft. Воспользуемся редактором системного реестра — программой Registry Editor.

Редактор реестра запускается из меню Start > Run (Пуск > Выполнить) панели задач. Просто введите regedit и нажмите Enter.

Прежде чем вносить изменения в системный реестр Windows, настойчиво рекомендую сохранить его пока еще неповрежденную копию. Для этого выберите меню Registry > Export Registry File… и введите имя файла, например сегодняшнее число. Путь к отступлению обеспечен, начинаем!

Хозяйке на заметку
Операционные системы Windows используют системный реестр для хранения информации о конфигурации компьютера, пользователях и прикладных программах. В правой части окна Registry Editor находится дерево разделов реестра, в левой показаны хранящиеся в них параметры и их значения. Параметры в реестре бывают трех видов: строковые (String), двоичные (Binary) и целые (DWORD). Изменить данные раздела, параметра или значения можно с помощью контекстного меню, появляющегося по правой кнопке мыши.

Для начала изменим заголовок окна — вместо порядком надоевшего «Microsoft Internet Explorer» поставим «Мой любимый браузер». Эта возможность работает в Internet Explorer, начиная с версии 5. Откройте в редакторе реестра раздел HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main и добавьте в него строковый параметр:

  • название — Window Title;
  • значение — Мой любимый браузер.

Элементарно, не так ли? :-)

Кстати, вам не надоел унылый серый фон панели инструментов любимого браузера? Предлагаю заменить его на что-нибудь более веселое. Главное, чтоб фоновая картинка была сохранена в формате BMP — как у меня (C:\My_Settings\back.bmp). Работает это в Internet Explorer, начиная с версии 4.

Откройте в редакторе реестра раздел HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar и добавьте в него строковый параметр:

  • название — BackBitmap;
  • значение — C:\My_Settings\back.bmp.

Заменить вращающийся логотип в правом верхнем углу окна можно в Internet Explorer, начиная с версии 5. Для начала нужно нарисовать свой, в виде последовательности кадров — фаз вращения. Желательно нарисовать два логотипа: размер кадра одного — 26x26 пикселов, другого — 38x38. Количество кадров не важно, однако понятно — чем их больше, тем более плавным будет вращение. Сохраним кадры в формате BMP (у меня, например: C:\My_Settings\logo26.bmp и C:\My_Settings\logo38.bmp).

Открываем в редакторе реестра уже знакомый раздел HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar — и добавляем в него два строковых параметра:

  1. название — BrandBitmap, значение — C:\My_Settings\logo38.bmp;
  2. название — SmBrandBitmap, значение — C:\My_Settings\logo26.bmp.

Кстати, если вы читаете почту с помощью Outlook Express, вам наверняка будет интересно узнать, что два последних изменения отразились и на нем. Собственно, именно здесь используется больший вращающийся логотип — если установлено показывать надписи на кнопках.

Иконку в виде буквы e можно заменить только с помощью специальных средств, например бесплатной программы или другого редактора ресурсов.

Добавить свой пункт в стандартное контекстное меню несложно. А вот сделать так, чтоб при его выборе выполнялись конкретные действия — это уже сложнее. Для решения этой задачи нужно знать JavaScript или VBScript. Это работает в Internet Explorer версии 4 и выше.

Но обо всем по порядку. Добавим в контекстное меню пункт Alert, при выборе которого будет выдаваться остроумное сообщение «Пора пить кофе!». Сначала напишем собственно программу (в нашем случае на JavaScript). Откройте Notepad (Блокнот) и наберите в нем следующий текст:
<script language="javascript">
alert("Пора пить кофе!");
</script>

Сохраняем этот файл (C:\My_Settings\alert.htm). Теперь обеспечим запуск этой программы. В редакторе реестра откройте раздел HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt. Если такого нет — создаем. В нем заводим раздел под названием Alert (или любым другим — его название потом появится в Internet Explorer как пункт контекстного меню). Открываем свежеиспеченный раздел HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\Alert, дважды щелкаем на строковом параметре Default и присваиваем ему значение C:\My_Settings\alert.htm.

После всех означенных издевательств Internet Explorer у меня стал выглядеть так.

Мы выполнили минимальные действия, нужные для включения своего пункта в контекстное меню Internet Explorer. А сейчас я позволю себе немного загрузить теорией наиболее любопытных читателей.

Скрипты

К сожалению, из контекстного меню можно запускать только скрипты JavaScript и VBScript. Приложения .exe или .dll придется загружать уже из скриптов. Зато скрипт имеет доступ к объекту window (окно приложения Internet Explorer, в котором выполняется скрипт) — через свойство menuArguments объекта external. Равно как и к прочим объектам, ниже по иерархии. То есть вполне корректно работает такой скрипт:
<script language="javascript">
alert(external.menuArguments.location.href)
</script>

который сообщает URL текущего документа.

Или даже такой:
<script language="javascript">
alert("Cookie is: " + external.menuArguments.document.cookie);
</script>

— он сообщает, оставляет ли текущий веб-сайт на нашем компьютере свои cookie.

Реестр

Полный путь к скрипту — далеко не единственное, что можно добавить в реестр. Оказывается, запуск скрипта можно регулировать двумя необязательными, но очень полезными параметрами. Первый параметр задается в реестре в разделе HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\Alert целым числом (DWORD):

  • название — contexts;
  • значение — битовая маска, состоящая из одного или суммы нескольких следующих шестнадцатеричных чисел:

0x1 по умолчанию
0x2 рисунки
0x4 элементы управления
0x8 таблицы
0x10 выделенный текст
0x20 ссылки

То есть, чтобы в контекстном меню пункт Alert появлялся только над рисунками и ссылками, значение contexts должно быть:

2h + 20h = 22h

Второй параметр, задающийся в том же разделе реестра, имеет тип DWORD:

  • название — Flags;
  • значение — 0x1.

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

Скрипт будет запускаться, как если бы он был вызван с помощью метода showModalDialog. С единственным, правда, отличием — скрипт получает доступ к родительскому окну посредством свойства menuArguments объекта external.

И, наконец, на панель инструментов можно добавить свою кнопку, по нажатию которой будет запускаться указанная вами программа. Для того чтобы эта программа обменивалась данными с Internet Explorer, понадобятся навыки объектного программирования и знание модели COM. Причем эта возможность существует в Internet Explorer версии 5 и выше.

Для создания своей кнопки на панели инструментов Internet Explorer нужно подготовить рисунок в двух экземплярах — для активного и неактивного состояния. Неактивную кнопку принято рисовать в оттенках серого, активную — цветной.

Изображение на кнопке панели инструментов IE — это пиктограмма (или иконка) с расширением .ico, содержащая рисунки 16x16, 20x20 или 36x36 пикселов, 16 или 256 цветов стандартной палитры Windows, для активного и неактивного состояния кнопки. У меня иконки сохранены как C:\My_Settings\cool.ico и C:\My_Settings\hot.ico. Теперь их нужно поместить на панель.

  1. Создайте уникальный идентификатор GUID, например, {AF56C981-ED80-A91F-C2F9E79F1DC} с помощью программы guidgen.exe или uuidgen.exe.
  2. Откройте в редакторе реестра раздел HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Extensions — и создайте в нем раздел под именем GUID. У меня получилось HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Extensions\{AF56C981-ED80-A91F-C2F9E79F1DC} Откройте этот раздел.
  3. Добавьте в него следующие строковые параметры:
    • название — HotIcon;
    • значение — C:\My_Settings\hot.ico;
    • название — Icon;
    • значение — ./././././C:/My_Settings/cool.ico.

    Это пути к иконкам для активного и неактивного состояния кнопки.

  4. Если вы не настраивали панель Internet Explorer специально, можно сразу поместить на нее нашу кнопку. Для этого добавьте в раздел строковый параметр:
    • название — Default Visible;
    • значение — Yes.

    Иначе кнопку придется добавлять на панель инструментов с помощью ее настройки — диалогового окна Customize Toolbar (Настройка панели инструментов).

  5. Кнопки могут сопровождаться подписью и подсказкой, появляющимися при наведении указателя мыши. Обычно это один и тот же текст. Этот текст тоже необходим для кнопки; его можно создать, добавив в наш раздел строковый параметр:
    • название — ButtonText;
    • значение — текст подсказки к кнопке.

(О том, как после этого заставить Internet Explorer сделать что-нибудь полезное, расскажем ниже.)

Несложно также добавить свой пункт в меню Tools (Сервис) или Help (Справка) Internet Explorer версии 5 и выше. Давайте создадим пункт Моя команда:

  1. Создайте новый уникальный идентификатор GUID или воспользуйтесь уже созданным. Если Вы создали новый GUID, откройте в редакторе реестра раздел HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Extensions и создайте в нем раздел GUID, как и на предыдущем шаге. Откройте его.

    Если же новый GUID не создавался, откройте раздел HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Extensions\{AF56C981-ED80-A91F-C2F9E79F1DC}

  2. В этот раздел добавьте строковый параметр:
    • название — MenuText;
    • значение — Моя команда.

    Это текст нового пункта меню — его содержание ограничивается только вашей фантазией.

  3. Добавьте в наш раздел строковый параметр:
    • название — CLSID;
    • значение — {1FBA04EE-3024-11D2-8F1F-0000F87ABD16}

    Значение должно быть именно это и никакое другое. Эта константа — CLSID расширения панели инструментов Internet Explorer для приложений.

  4. Если новый пункт предназначен для меню Help (Справка), добавьте в наш раздел строковый параметр:
    • название — MenuCustomize;
    • значение — help.

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

  5. Если нужно, чтоб при выборе этого пункта в строке состояния появлялся текст, добавьте в раздел строковый параметр:
    • название — MenuStatusBar;
    • значение — текст строки состояния.

Итак, появилась кнопка или новый пункт в меню. Теперь привяжем к ней (или к нему) функциональность. Тут методика для кнопки и для пункта меню одинакова. При нажатии на кнопку или выборе пункта меню можно запускать следующие объекты:

  • COM-объекты;
  • скрипты;
  • приложения.

Особенности создания и запуска COM-объектов подробно описаны на сайте компании Microsoft, об остальных же сейчас пойдет речь.

Скрипт

Если нужно запускать скрипт, добавьте в соответствующий раздел реестра строковый параметр:

  • название — Script;
  • значение — полный путь к скрипту, который должен запускаться (например, C:\test.js).

Приложение

Чтобы запускалась программа с расширением .exe, добавьте в раздел строковый параметр:

  • название — Exec;
  • значение — полный путь к приложению, которое должно запускаться, например C:\direct.exe.

Проделать действия, указанные выше не сложно, главное — внимательность. Зато представьте, с каким удовольствием вы будете пожинать плоды своих усилий и показывать их друзьям :-).

Татьяна МИХНО,
tanja@svitonline.com


Подписаться на дискуссионный лист
Послать письмо на дискуссионный лист
Задать вопрос
Прислать свою статью для публикации в журнале
Просто поговорить
Получить именной бланк подписки на "бумажную" версию

До следующего выпуска!
Елена Полонская, редактор "К+П"
www.comizdat.com

Перепечатка материалов этой рассылки разрешается только по согласованию с редакцией журнала "Компьютеры+Программы"



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное