Недокументированные и малоизвестные возможности Windows XP
Шрифт:
Драйверы
Драйверы — это специальные программы, управляющие работой оборудования, для которого они были написаны. Сейчас практически каждое устройство — от оптической мыши до видеокамеры — требует для своего взаимодействия с компьютером отдельный драйвер. Конечно, не все из этих устройств поставляются со своим собственным драйвером — и это неудивительно, ведь операционная система Windows XP уже включает в себя очень много различных драйверов для многих устройств известных производителей. Все они хранятся на установочном диске (а также в локальной файловой системе) в архиве driver.cab и устанавливаются только при нахождении системой нового оборудования.
Как и ActiveX-объекты, драйверы также могут хранить вызов функций, но использование этих
Рис. 1.15. Как правило, уже загруженные драйверы команды не поддерживают
У себя на компьютере автор книги нашел только одну доступную команду, предоставляемую драйвером WINSPOOL.DRV. Это стандартный драйвер Windows, расположенный в каталоге %systemroot%\system32. Он управляет подключением к принтеру (а также передачей ему заданий) и поддерживает такую команду rundll32.exe:rundll32 WINSPOOL.DRV, ConnectToPrinterDlg. Она выводит диалог для подключения к сетевому принтеру и передачи ему задания. Результат выполнения данной команды будет подобным приведенному на рис. 1.16.
Рис. 1.16. Результат выполнения команды rundll32 WINSPOOL.DRV, ConnectToPrinterDlg
ПРИМЕЧАНИЕ
Это диалоговое окно также можно вызвать с помощью команды rundll32.exe PRINTUI.dll, ConnectToPrinterDlg.
Библиотеки
Библиотеки — это специальные файлы с расширением DLL, описывающие все функции, применяемые программой, для которой данная библиотека написана.
Именно библиотеки содержат большинство функций, используемых операционной системой или программой. При этом библиотеки могут применяться как в программах (даже если данная библиотека не была специально написана для соответствующей программы), так и в драйверах, CPL-файлах, ActiveX-объектах и других исполняемых файлах Windows.
Раньше были рассмотрены команды rundll32.exe по файлам, в которых они описаны. Это было более эффективно по той причине, что стандартных CPL-файлов или файлов ActiveX-объектов на компьютере не очень много. Другая картина предстает при взгляде на количество библиотек, зарегистрированных в системе. Чтобы в этом убедиться, достаточно просто заглянуть в каталог %systemroot%\system32 — именно он содержит стандартные библиотеки Windows, которых в этом каталоге можно насчитать сотни. А ведь с каждой программой поставляются еще и свои собственные библиотеки, которые могут находиться как в каталоге, в котором была установлена программа, так и в %systemroot%\system32. Поэтому на этот раз команды rundll32.exe будут рассмотрены не по библиотекам, в которых они описаны, а по действиям, которые они выполняют.
Окна работы с сетью
Первым рассмотренным вопросом будет вопрос вызова различных мастеров, предназначенных для установки тех или иных сетевых компонентов компьютера. Автор знает по своему опыту, как иногда бывает сложно найти в файловой системе Windows ссылки на вызовы тех или иных мастеров настройки не только сетевых компонентов, но и любых других частей Windows. Особенно это актуально после преднамеренного удаления данных ссылок на диалоговые окна — когда пользователь хочет минимизации содержимого Windows и удаляет из меню Пуск или из других мест файловой системы все подряд, что ему кажется ненужным.
Рассмотрим команду вызова Мастера установки оборудования. Для его вызова достаточно выполнить команду rundll32.exe ccfgnt.dll, IcfgInstallModem, результат действия которой можно увидеть на рис. 1.17.
Аналогичное
окно можно вызвать и с помощью следующей команды: rundll32.exe modemui.dll, InvokeControlPanel.Рис. 1.17. Результат выполнения команды rundll32.exe ccfgnt.dll, IcfgInstallModem
Если модем уже настроен, то можно вызвать диалог отображения свойств модемов, являющийся апплетом Телефон и модем (telephon.cpl) (рис. 1.18). Для этого применяется команда rundll32.exe TAPI32.dll, internalConfig.
С помощью данного диалога можно настроить дополнительные параметры инициализации модема или используемые им драйверы — для этого применяется вкладка Модемы. Но, кроме вкладки Модемы, данный диалог содержит еще две вкладки. С помощью вкладки Набор номера можно настроить параметры доступа к поставщику услуг Интернета, а с помощью вкладки Дополнительно можно добавить, настроить или удалить службы, которые используются при работе модемов.
Рис. 1.18. Результат выполнения команды rundll32.exeTAPI32.dll, internalConfig
ПРИМЕЧАНИЕ
Если вам необходима только вкладка Набор номера, то можно воспользоваться командой rundll32.exe TAPI32.dll, LOpenDialAsst. С ее помощью можно вывести приведенное выше диалоговое окно, в котором будет доступна только вкладка Набор номера.
Можно вызвать Мастер настройки сети, предназначенный для создания и настройки сетевого соединения между несколькими компьютерами. Для этого необходимо воспользоваться командой rundll32. exe hnetwiz.dll, HomeNetWizardRunDll. Можно также обратиться к другому мастеру для создания сети — Мастеру новых подключений. С его помощью можно подключиться к Интернету, частной сети или сконфигурировать свою сеть. Для вызова этого мастера достаточно воспользоваться командой rundll32.exe netshell.dll, StartNCW. Можно также выполнить команду rundll32.exe RASAPI32.dll, RasCreatePhonebookEntryA. С ее помощью отображается мастер с названием, аналогичным предыдущему (Мастер новых подключений), но немного другой функциональностью. На рис. 1.19 можно увидеть два этих мастера (справа находится мастер, вызываемый командой rundll2.exe RASAPI32.dll, RasCreatePhonebookEntryA, а слева приведено окно второго шага мастера, вызываемого командой rundll32.exe netshell.dll, StartNCW).
Рис. 1.19. Окна мастера подключения к сети
Но это еще не все, ведь кроме обычных сетей — с помощью подключения нескольких компьютеров к одному кабелю — существуют еще и беспроводные сети. Мастер их создания также можно вызвать. Для этого применяется команда rundll32.exe wzcdlg.dll, FlashConfigCreateNetwork. Этот же мастер можно вызвать и с помощью следующей команды: rundll32.exe wzcdlg.dll, FlashConfigRunWizard.
Но если сетевое соединение уже имеется, то можно воспользоваться командой rundll32.exe netplwiz.dll, AddNetPlaceRunDll для вызова Мастера добавления в сетевое окружение. С его помощью можно создать ярлык для веб-узла, FTP-узла, удаленного компьютера и т.д.
Еще одной интересной возможностью является вызов диалога установки дополнительных сетевых компонентов (рис. 1.20), с помощью которого можно установить службы печати для UNIX, различные сетевые службы (одноранговую сеть, слушатель RIP и т.д.), а также средства для наблюдения за сетевыми подключениями (например, WMI-поставщик SNMP и сам протокол SNMP). Чтобы вызвать данный диалог, достаточно воспользоваться командой rundll32.exe netshell.dll, HrLaunchNetworkOptionalComponents.
Рис. 1.20. Результат выполнения команды rundll32.exe netshell.dll, HrLaunchNetworkOptional Components