Многие
широко применяемые функции Windows инкапсулированы в DLL. В результате
несколько программ могут совместно работать с определенными функциями, но
пользователи не имеют возможности напрямую запускать функции из DLL. Тем не
менее, в Windows есть утилита командной строки Rundll32, с помощью которой
можно получить доступ к некоторым функциям DLL. Я предлагаю вниманию читателей
десять советов, которые помогут это сделать.
10. Нацелить Microsoft Internet
Explorer (IE) на конкретный Web-узел. Например, чтобы запустить IE и открыть
сайт Windows & .Net Magazine, достаточно ввести команду
rundll32.exe url.dll, FileProtocolHandler http://www.WinNetMag.com
9. Подключить принтер к удаленному
компьютеру. С помощью Rundll32 можно запустить мастер Add Printer Wizard для
локального или удаленного компьютера. В следующем примере показано, как
запустить Add Printer Wizard для удаленного компьютера teca4. Чтобы запустить
мастер для локального компьютера, следует удалить ключ /c.
rundll32.exe printui.dll, PrintUIEntry /il /c\\teca4
8. Добавить принтерные порты для
принтеров TCP/IP. Следующая команда активизирует мастер Add TCP/IP Printer Port
Wizard:
rundll32.exe tcpmonui.dll, LocalAddPortUI
7. Запустить мастер Network
Identification Wizard. Следующая команда запускает мастер, который проводит
пользователя по этапам начальной установки сети и позволяет указать имя
компьютера, домен регистрации, входной ID и пароль:
rundll32.exe netplwiz.dll, NetAccWizRunDll
6. Запустить мастер Network Place
Wizard. С помощью мастера можно создать ссылку на сетевое устройство. Ссылка
обеспечивает доступ к разделяемому ресурсу, узлу FTP или Web-папке. Для запуска
мастера необходимо ввести следующую команду:
rundll32.exe netplwiz.dll, AddNetPlaceRunDll
5. Создать новую разделяемую папку.
Еще одна удобная функция, выполняемая с помощью Rundll32 - запуск диалогового
окна New Share, в котором можно графически подключать сетевые ресурсы.
Достаточно ввести команду:
rundll32.exe ntlanui.dll, ShareCreate
4. Управление разделяемыми сетевыми
ресурсами. С помощью следующей команды можно запустить диалоговое окно Shared
Directories, чтобы получить список сетевых ресурсов системы, добавить новый
ресурс, разрешить или запретить разделение ресурса и изменить полномочия:
rundll32.exe ntlanui.dll, ShareManage
3. Запустить Device Manager. Чтобы
быстро запустить Device Manager без лишних перемещений по папке Administrative
Tools, следует ввести команду
rundll32.exe devmgr.dll DeviceManager_Execute
2. Заблокировать рабочую станцию. С
помощью Rundll32 можно выполнять и различные функции оболочки. Например, можно
поместить на рабочий стол пиктограмму, которая позволяет немедленно блокировать
рабочую станцию. Для этого нужно щелкнуть правой кнопкой мыши на рабочем столе
и выбрать пункт New, Shortcut. В текстовое окно Command line следует ввести
команду
rundll32.exe user.dll, LockWorkStation
1. Автоматизированная процедура
завершения сеанса пользователя или выключения машины. Rundll32 можно
использовать в сценариях Windows Script Host (WSH) или командной оболочки,
чтобы обеспечить завершение сеанса пользователя или остановку и перезапуск
компьютера. Действие определяется значением последнего параметра команды: 0 -
выход из системы, 1 - завершение работы, 2 - перезагрузка, 4 - принудительное
завершение работы, 8 - отключение питания. Ниже приведен пример выхода из
системы:
rundll32.exe shell32.dll, SHExitWindowsEx 0
Майкл Оти - Научный редактор американского журнала Windows NT Magazine, президент компании TECA, специализирующейся на разработке программного обеспечения и оказании консультационных услуг; соавтор руководства разработчика SQL Server 7.0 Developer’s Guide (издательство Osborne/McGraw-Hill). С ним можно связаться по электронной почте по адресу: mikeo@teca.com.