Недокументированные и малоизвестные возможности Windows XP
Шрифт:
Более интересной возможностью, которую предоставляет почтовый клиент, является реализуемая командой rundll32.exe "%programfiles%\Outlook Express\MSOE.DLL", MAPISendDocuments возможность открытия диалогового окна Вложенные файлы, отображенного на рис. 3.3. С его помощью можно создать и отправить письмо, при этом темой письма будет Вложенные файлы (хотя никто вам не помешает изменить тему, если это будет нужно).
Рис. 3.3. Результат выполнения команды rundll32.exe "%programfiles%\Outlook Express\MSOE.DLL", MAPISendDocuments
Конфигурация
Теперь поговорим о конфигурации
Бывают ситуации, когда после неправильно установленной программы или сбоя системы перестают читаться файлы с различными расширениями. В нашем случае это файлы, предназначенные для открытия ссылок на почтовые или новостные серверы. Это говорит о том, что при сбое была удалена часть содержимого корневого раздела реестра 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
Реестр Windows XP