Программы
В этой главе будут рассмотрены некоторые интересные команды, используемые различными стандартными приложениями, поставляемыми вместе с операционной системой Windows. К таким приложениям в первую очередь можно отнести Internet Explorer и Outlook Express.
Internet Explorer
Internet Explorer — браузер, входящий в стандартную поставку любой версии операционной системы Windows XP. Более того, он является ее неотъемлемой частью, и, как бы данный браузер ни критиковали, большая часть пользователей Интернета для доступа к Сети использует именно его. В поставку Internet Explorer входит браузер версии 6.0, поэтому команды rundll32.exe, которые будут описаны в данном разделе книги, содержатся в библиотеках именно этой версии браузера. Хотя это не значит, что более ранние версии Internet Explorer не будут поддерживать этих команд.
Оболочка
Теперь рассмотрим команды rundll32.exe, предназначенные для взаимодействия с пользователем. Раньше при описании файла inetcpl.cpl уже упоминались такие команды, но, кроме них, существует также некоторое количество команд, предоставляемых стандартными библиотеками Windows.
Первой из этих команд является rundll32.exe IEAKENG.dll, ModifyZones. С ее помощью можно отобразить диалог Свойства обозревателя, в котором будут доступны только две вкладки — Безопасность и Конфиденциальность. Диалог не является какой-то новой разновидностью окна Свойства обозревателя, отображаемого после выбора команды Свойства обозревателя меню Сервис, — это все тот же диалог, доступ к остальным вкладкам которого был запрещен при запуске команды с помощью групповых политик. После нажатия кнопки OK данного окна настройки групповых политик опять примут свой стандартный вид — все изменения, которые были сделаны командой, будут удалены.
ПРИМЕЧАНИЕ
Если данная команда будет использоваться учетной записью, которой запрещено изменять групповые политики, то вызываемый диалог будет содержать все вкладки.
Если вас удивила предыдущая команда, то вы еще больше удивитесь, когда узнаете о команде rundll32.exe IEAKENG.dll, ShowInetcpl. При ее выполнении операционная система с помощью групповых политик сначала запрещает доступ ко всем вкладкам диалога Свойства обозревателя, а потом пытается открыть этот диалог. При этом, как и следовало ожидать, у команды ничего не получается и она выдает сообщение о том, что данный диалог запрещен администратором. После этого команда удаляет все изменения групповых политик, которые она выполняла в начале своей работы.
ПРИМЕЧАНИЕ
Если данная команда, как и предыдущая, будет применяться пользователем, для которого запрещено изменение групповых политик, то диалог Свойства обозревателя будет открыт.
Конфигурация
И наконец-то команды rundll32.exe для настройки конфигурации Internet Explorer. Этих команд не очень много, но они могут быть полезны в некоторых случаях. Например, если вы изменили настройки брэндов Internet Explorer (логотип в правом верхнем углу браузера, высота и фон панели инструментов) с помощью параметров реестра, описанных в части 2, посвященной работе с реестром Windows, и теперь хотели бы восстановить стандартные настройки, то нет необходимости пользоваться реестром. Достаточно выполнить команду rundll32.exe iedkcs32.dll, BrandCleanInstallStubs, после чего браузер пересоздаст ветви реестра, описывающие используемые им брэнды. Можно также воспользоваться командой rundll32.exe iedkcs32.dll, Clear. Но в этом случае будут переписаны изменения не только брэндов, но и других параметров браузера Internet Explorer.
Еще одной проблемой, которую позволяют решить команды rundll32.exe, является возможность перезаписи стандартных пунктов меню Избранное браузера Internet Explorer (ссылки на MSN.com, Windows Media, Hotmail, Программы радиопередач). Если вы удалили эти ссылки и теперь вам необходимо получить доступ к одному из перечисленных сайтов, то можно просто воспользоваться командой rundll32.exe iedkcs32.dll, BrandIE4 SIGNUP. После этого стандартные ссылки меню Избранное будут созданы заново.
Вот, собственно, и все. Но в конце данного раздела рассмотрим некоторые дополнительные команды rundll32.exe, которые вам могут понадобиться.
■ rundll32.exe SHDOCVW.dll, SetShellOfflineState — вызов данной команды приводит к установке флажка Работать автономно в меню Файл, после чего при следующем запуске браузера Internet Explorer попытка подключения к Интернету осуществляться не будет — она произойдет только после снятия этого флажка или после ввода адреса сайта в адресной строке.
■ rundll32.exe WININET.dll, DeleteIE3Cache — позволяет удалить содержимое каталогов cache1, cache2, cache3 и cache4, расположенных поадресу %userprofile%\Local Settings\Temporary Internet Files\Content.IE5.
■ rundll32.exe WININET.dll, InternetClearAllPerSiteCookieDecisions — вызов данной команды приводит к очищению содержимого ветви HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\P3P\History.
■ rundll32 INETCFG.dll InetSetAutoProxyA «IP-адрес» — с помощью данной команды можно установить флажок Использовать сценарий автоматической настройки в диалоговом окне Настройка локальной сети, а также записать в поле Адрес данного диалогового окна значение указанного в вызываемой команде IP-адреса. Диалоговое окно Настройка локальной сети вызывается нажатием кнопки Настройка LAN на вкладке Подключения диалога Свойства обозревателя.
В контексте системного реестра Windows изменяются значения параметров AutoProxyDetectMode (параметр REG_BINARY-типа становится равен 1) и AutoConfigURL (параметр строкового типа, хранящий значение указанного IP-адреса). Оба этих параметра находятся в ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings.
Настройки ограничений
Отдельно стоит сказать о возможностях работы с ограничениями, которые можно настроить для закрытия доступа к страницам, содержащим насилие или другие запретные темы. Доступ к данным настройкам можно получить после нажатия кнопки Настройка на вкладке Содержание диалога Свойства обозревателя. После нажатия этой кнопки перед вами появится диалог Ограничение доступа (или будет выведен запрос на ввод пароля, если возможность ограничения уже включена), открытый на вкладке Оценки, с помощью которой можно настроить уровень ограничения доступа (перемещая ползунок на уровень, который соответствует вашим представлениям о морали). На вкладке Разрешенные узлы можно указать страницы, на которые не будут распространяться ограничения доступа. На вкладке Общие определяется пароль для доступа к ограничениям, а также файл системы оценок, который будет определять дополнительные параметры того, к какому сайту можно подключиться, а к какому нет (по умолчанию в Windows существует только один файл оценок, но новые можно создать или скачать в Интернете). На вкладке Дополнительно определяется сайт, который будет использоваться для получения инструкций системой оценки (если ей необходимы инструкции), а также дополнительный файл правил для доступа к сайтам, являющийся последним рубежом между вами и нежелательными сайтами.
Теперь посмотрим, какие возможности предоставляют команды rundll32.exe при работе с ограничением доступа.
В первую очередь с помощью команд rundll32.exe можно открыть диалог Ограничение доступа. Для этого используется команда rundll32.exe IEAKENG.dll, ModifyRatings, результат выполнения которой приведен на рис. 3.1. Аналогичных действий можно добиться, если воспользоваться командой rundll32.exe MSRATING.dll, RatingSetupUI.
Рис. 3.1. Результат выполнения команды rundll32.exe IEAKENG.dll, ModifyRatings
Существует возможность быстрого открытия диалога Системы оценок (рис. 3.2). Для этого используется команда rundll32.exe MSRATING.dll, ClickedOnRAT, после выполнения которой будет открыт диалог Ограничение доступа на вкладке Общие, а также Системы оценок.
Рис. 3.2. Результат выполнения команды rundll32.exe MSRATING.dll, ClickedOnRAT
Существует еще одна интересная возможность — установка файла правил PICS с помощью команды rundll32.exe MSRATING.dll, ClickedOnPRF «путь к файлу правил PICS». После вызова данной команды произойдет открытие диалога Ограничение доступа (на вкладке Дополнительно) и браузер попытается импортировать указанный вами файл правил PICS в реестр.
Наконец, если вы уже настроили ограничения доступа, но теперь необходимо установить такие же ограничения на другом компьютере, то можно воспользоваться командой rundll32.exe IEAKENG.dll, ImportRatingsA «путь и имя inf-файла». После ее выполнения (не всегда выполняется с первого раза) будет создан INF-файл, включающий большую часть настроек ограничений доступа (разрешенные и запрещенные узлы, пароль, подсказка, правила PICS и т. д.). В указанной папке будет создан INF-файл с именем ratrsop.inf, содержащий дополнительные настройки.
После применения созданных файлов вы можете воспользоваться следующей командой: rundll32.exe MSRATING.dll, RatingEnable — для быстрого включения созданных вами ограничений доступа. После этого операционная система попросит вас ввести пароль и при правильном пароле включит ограничения.
ПРИМЕЧАНИЕ
Существует возможность перерегистрации параметров реестра, используемых для определения расширений файлов для файлов правил PICS и систем оценок. Для этого достаточно воспользоваться командой rundll32.exe MSRATING.dll, DllRegisterServer. Можно также применить команду rundll32.exe MSRATING.dll, DllUnregisterServer. В этом случае все сведения о расширениях файлов, используемых функцией ограничения доступа, будут удалены из реестра.
Outlook Express
Как и Internet Explorer, Outlook Express входит в стандартную поставку операционной системы Windows и является почтовым клиентом, предназначенным для отправки и получения писем c почтового сервера, такого как, например, www.mail.ru. Outlook Express имеет намного меньше параметров rundll32.exe, которые могут быть интересны, но тем не менее о них стоит рассказать.
ПРИМЕЧАНИЕ
Некоторые команды для своей работы используют библиотеки, расположенные в том же каталоге, что и файл msimn.exe. В этом случае в описываемой команде rundll32.exe будет применяться стандартный путь к каталогу почтового клиента — %programfiles%\Outlook Express. Если в вашей системе используется другой путь, то при определении команды нужно будет указать его.
Открытие почтового клиента
Почтовый клиент Outlook Express также можно запустить с помощью команды rundll32.exe. Для этого применяется следующая команда: rundll32.exe "%programfiles%\Outlook Express\MSOE.DLL", CoStartOutlookExpress. Она просто открывает окно Outlook Express, но имеет один большой недостаток — довольно часты случаи, когда окно после своего открытия автоматически закрывается (если установлена возможность автоматического завершения Outlook Express при возникновении ошибки).
Более интересной возможностью, которую предоставляет почтовый клиент, является реализуемая командой rundll32.exe "%programfiles%\Outlook Express\MSOE.DLL", MAPISendDocuments возможность открытия диалогового окна Вложенные файлы, отображенного на рис. 3.3. С его помощью можно создать и отправить письмо, при этом темой письма будет Вложенные файлы (хотя никто вам не помешает изменить тему, если это будет нужно).
Рис. 3.3. Результат выполнения команды rundll32.exe "%programfiles%\Outlook Express\MSOE.DLL", MAPISendDocuments
Конфигурация
Теперь поговорим о конфигурации программы Outlook Express. В данном случае речь пойдет о различных компонентах почтового клиента, которые можно удалить либо воссоздать с помощью команд rundll32.exe.
Бывают ситуации, когда после неправильно установленной программы или сбоя системы перестают читаться файлы с различными расширениями. В нашем случае это файлы, предназначенные для открытия ссылок на почтовые или новостные серверы. Это говорит о том, что при сбое была удалена часть содержимого корневого раздела реестра HKEY_CLASSES_ROOT (о содержимом этого раздела читайте в следующей части) или только сведения о конкретных расширениях. Если это случилось и при этом не читаются только файлы, предназначенные для хранения ссылок на почтовые или новостные серверы, то нет смысла полностью переустанавливать почтовый клиент Outlook Express — намного проще воспользоваться несколькими командами rundll32.exe. Первой такой командой является следующая: rundll32.exe "%programfiles%\Outlook Express\MSOE.DLL", SetDefaultMailHandler. Она предназначена для переустановки всех сведений реестра об идентификаторе mailto (ветвь реестра HKEY_CLASSES_ROOT\mailto), который определяет файлы, предназначенные для описания ссылок на почтовые серверы. После выполнения данной команды идентификатор mailto будет удален из реестра и заново создан на основе стандартных настроек почтового клиента Outlook Express.
Второй такой командой является следующая: rundll32.exe "%programfiles%\Outlook Express\MSOE.DLL", SetDefaultNewsHandler. Она удаляет и заново восстанавливает по умолчанию содержимое идентификаторов news, snews и nntp.
ПРИМЕЧАНИЕ
Стоит отметить, что при использовании предыдущих команд будут созданы стандартные идентификаторы. Другими словами, они будут ссылаться на почтовый клиент Outlook Express, а не на клиент электронной почты, который установлен в данный момент в качестве клиента по умолчанию.
Еще одной проблемой, которая может произойти, является повреждение сведений об ActiveX-объектах, принадлежащих почтовому клиенту Outlook Express. Если эти повреждения незначительны, то можно попробовать исправить и их. Например, можно переписать сведения о доступных форматах импорта сообщений в почтовом клиенте. Эти сведения необходимы для работы Мастера импорта сообщений (Файл►Импорт►Сообщения) и позволяют импортировать сообщения формата Microsoft Exchange, Messenger, Netscape, Microsoft Mail и т.д. Если эти сведения будут повреждены, то единственным доступным форматом импорта будет формат Microsoft Outlook 6.0 (рис. 3.4) и, чтобы решить возникшую проблему, достаточно воспользоваться командой rundll32.exe "%programfiles%\Outlook Express\oeimport.dll", DllRegisterServer.
ПРИМЕЧАНИЕ
Возможна и обратная ситуация — когда вы намеренно хотите избавиться от ненужных форматов импорта/экспорта сообщений. В этом случае достаточно воcпользоваться командой rundll32.exe "%programfiles%\Outlook Express\oeimport.dll", DllUnregisterServer, и все сведения об импорте/экспорте сообщений исчезнут. Потом вы в любой момент сможете добавить эти сведения, если воспользуетесь описанной функцией библиотеки DllRegisterServer.
Рис. 3.4. Результат выполнения команды rundll32.exe "%programfiles%\Outlook Express\oeimport.dll", DllUnregisterServer
Но не только импорт сообщений можно восстановить — можно также восстановить диалоги импорта и экспорта адресных книг (Файл►Импорт►Другая адресная книга и Файл►Экспорт►Адресная книга). Если ActiveX-объекты для данных диалогов будут повреждены, то диалоги все равно будут отображаться, но воспользоваться ими будет нельзя. Чтобы восстановить ActiveX-объекты для импорта/экспорта адресных книг, необходимо вызвать следующую команду rundll32.exe "%programfiles%\Outlook Express\WABIMP.dll", DllRegisterServer. Кроме того, команды rundll32.exe также позволяют выполнить и противоположную операцию — удаление возможности использования импорта/экспорта адресных книг. Для этого достаточно применить команду rundll32.exe "%programfiles%\Outlook Express\WABIMP.dll", DllUnregisterServer.
Еще одной возможностью, которую можно восстановить, является возможность поиска людей в Интернете. Если поиск вам срочно необходим, то достаточно воспользоваться командой rundll32.exe "%programfiles%\Outlook Express\WABfind.dll", DllRegisterServer, и в подменю Найти меню Пуск появится команда Людей. Если же она там уже имеется, но вы ею никогда не пользовались и пользоваться не собираетесь, то можно ее удалить. Для этого достаточно выполнить команду rundll32.exe "%programfiles%\Outlook Express\WABfind.dll", DllUnregisterServer.
Другие программы
Однако не только Internet Explorer и Outlook Express имеют в своих библиотеках функции, поддерживаемые командой rundll32.exe. Этим могут похвастаться и другие программы.
Программа Microsoft Visual Studio .NET является средой разработки, поддерживающей создание приложений на многих языках программирования. Неудивительно, что этот «тяжелый» по своей функциональности пакет поставляется вместе со многими библиотеками, которые можно использовать при работе с командой rundll32.exe.
Например, с помощью следующей команды: rundll32.exe dfshim.dll, ShBackgroundUpdateW — можно запустить службу фонового обновления программы Microsoft Visual Studio .NET. После выполнения данной команды будет запущен новый процесс dfsvc.exe.
Существует возможность прекращения работы данного процесса с помощью команды rundll32.exe. Для этого применяется следующая команда: rundll32.exe dfshim.dll, KillService.
Программа VMware является эмулятором операционных систем семейств Linux, UNIX, Windows и т.д. Она включает в себя очень много команд rundll32 . exe, некоторые из них уже были рассмотрены ранее (например, команды отключения и включения автозапуска компакт-диска). Перечислим другие команды этой программы.
■ rundll32.exe MSI39.dll, VMCleanFiles — позволяет очистить компьютер от драйверов программы VMware. После ее вызова происходит удаление из каталога %systemroot%\SYSTEM32\DRIVERS файлов драйверов wmnetuserif.sys, wmnetbridge.sys, wmnet.sys и wmnetadapter.sys.
■ rundll32.exe MSI39.dll, VMDeleteFiles — если предыдущая команда позволяла удалять файлы драйверов VMware, то эта команда дает возможность удалять остальные файлы VMware, а также сведения о них из реестра.
■ rundll32.exe MSI3 9.dll, VMDeleteRegistry — после вызова данной команды происходит удаление из реестра всех сведений о программе VMware.
■ rundll32.exe MSI3 9.dll, VMCreateVMwareAccount — позволяет создать учетную запись администратора VMware.
■ rundll32.exe xvidvfw.dll, Configure — с помощью этой команды можно вызвать диалог настройки Xvid (рис. 3.5).
Рис. 3.5. Результат выполнения команды rundll32.exe xvidvfw.dll, Configure
Таким образом, в этой главе были рассмотрены некоторые интересные команды, используемые различными приложениями.
Часть 2