<<

стр. 8
(всего 10)

СОДЕРЖАНИЕ

>>

В листинге 6.12 показано, что получить ссылку на объект таблицы можно не
только по его номеру, как это было показано в листинге 6.4, но и по имени.
Метод script возвращает строковое выражение скрипта соответствующего
объекта. В листинге 6.14 приведен пример генерации полного SQL-скрипта
создания базы данных, включающий:
П сценарий создания таблиц;
П сценарий создания представлений;
П сценарий создания хранимых процедур;
О сценарии создания пользователей;
О сценарии создания ролей.

инг 6.14, Генерация полн

Database = СоздатьОбъект("SQLDMO.Database");
Database = SQLServer.Databases(ИмяБазыДэнных);
СтрокаСценария = " ;
"


Попытка
// Сценарий создания таблиц
Для Ном = 1 По Database.Tables.Count Цикл
СтрокаСценария = СтрокаСценария + Database.Tables.Item(Ном).Script();
КонецЦикла;


// Сценарий создания представлений
Для Ном = 1 По Database.Views.Count Цикл
СтрокаСценария = СтрокаСценария + Database.Views.Item(HoM).Script();
КонецЦикла;


// Сценарий создания хранимых процедур
Для Ном = 1 По Database.StoredProcedures.Count Цикл
СтрокаСценария = СтрокаСценария + Data-
base .StoredProcedures.Item(Ном).Script();
КонецЦикла;


// Сценарии создания пользователей
Для Ном = 1 По Database.Users.Count Цикл
СтрокаСценария = СтрокаСценария + Database.Users.Item(Ном).Script();
КонецЦикла;
248 Глава 6


/I Сценарии создания ролей
Для Ном = 1 По Database.DatabaseRoles.Count Цикл
СтрокаСценария = СтрокаСценария +
Database.DatabaseRoles.Item(Ном).Script();.
КонецЦикла;

Текст = СоэдатьОбъект("Текст");
Текст.ДобавитьСтроку(СтрокаСценария);
Текст.Показать("Полный скрипт создания базы данных",);
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;



Выполнение SQL-запросов
В SQL-DMO, помимо административных задач, можно получать выборки
данных с помощью SQL-запросов. Для данных целей предназначен метод
ExecuteWithResults объекта Database. Метод ExecuteWithResults имеет
единственный параметр — строку SQL-запроса и возвращает объект типа
QueryResults.
Рассмотрим основные свойства объекта QueryResults.
П ROWS — возвращает количество записей в результирующей таблице запроса;
О Columns — возвращает количество полей в результирующей таблице за-
проса;
О CoiumnType (номерКолонки) — возвращает тип соответствующего поля
(все возможные типы перечислены в табл. 6.3);
О coiumnName (НомерКолонки) —возвращает имя соответствующего поля.


Таблица 6.3. Типы полей объекта QueryResults

Константа SQL-DMO Значение Описание
Целочисленный тип bigint
-5
SQLDMO DTypeBigint

Двоичный тип фиксированной длины
-2
SQLDMO DTypeBinary

Положительный целочисленный тип
-7
SQLDMO_DTypeBit

Строковый тип фиксированной длины
SQLDMO DTypeChar 1
249
Использование SQL-DMO

Таблица 6.3 (окончание)

Значение
Константа SQL-DMO Описание
SQLDMO DTypeDateTime -2 Специальный тип ODBC —
SQL TIMESTAMP STRUCT
SQLDMO DTypeDateTime4 93 Специальный тип ODBC —
SQL TIMESTAMP STRUCT
SQLDMO_DTypeFloat4 7 Числовой тип с плавающей запятой
(4 байта)
SQLDMO_DTypeFloat8 8 Числовой тип с плавающей запятой
(8 байт)
SQLDMO_DTypeGUID -1
1 Глобальный уникальный идентификатор
(GUID)
SQLDMO DType Image -4 Двоичный тип переменной длины
SQLDMO DTypelntl -6 Положительный числовой тип (1 байт)
SQLDMO_DTypeInt2 5 Числовой тип со знаком (2 байта)
SQLDMO_DTypeInt4 4 Числовой тип со знаком (4 байта)
SQLDMO DTypeMoney Денежный тип
3

SQLDMO DTypeMoney4 Расширенный денежный тип
3

SQLDMO_DTypeNText Расширенный строковый тип (Unicode)
-10

SQLDMO DtypeSQLVariant Любой тип данных, поддерживаемый SQL
-150
Server
SQLDMO_DTypeText -1 Расширенный строковый тип
SQLDMO_DTypeUChar -8 Строковый тип фиксированной длины
(Unicode)
SQLDMO_DTypeUnknown 0 Ошибочный тип
SQLDMO_DTypeUVarchar -9 Строковый тип переменной длины
(Unicode)
Двоичный тип переменной длины
SQLDMO_DTypeVarBinary -3
SQLDMO_DTypeVarchar 12 Строковый тип переменной длины


Основной метод GetColumnString объекта QueryResults позволяет получить
значение результата запроса, находящееся в определенной строке и поле.
Метод GetCoiumnstring имеет два параметра — номер строки и номер ко-
лонки (поля).
В листинге 6.15 приведен пример выполнения SQL-запроса и вывода ре-
зультата на экран в виде таблицы значений.
250 Глава 6




Попытка
ИмяБазыДанных = "Northwind";
СтрокаЗапроса = "SELECT * FROM Customers";
Т3_3апроса = СоздатьОбъект("ТаблицаЗначений");


Состояние("Выполнение запроса...");
QueryResults = SQLServer.Databases(ИмяБазыДанных).ExecuteWithResults
(СтрокаЗапроса);

Состояние("Преобразование данных...");
// Заполняем таблицу, перебирая результаты запроса по строкам
Для НомерСтроки = 1 по QueryResults.Rows Цикл
Если НомерСтроки = 1 Тогда
// Формируем колонки в таблице с именами,
// взятыми из результатов запроса и соответствующего типа
Для НомерКолонки = 1 по QueryResults.Columns Цикл
// Вставляем колонку
Т3_3апроса.ВставитьКолонку(QueryResults.ColumnName
(НомерКолонки), НомерКолонки, "Строка",,,
QueryResults.ColumnName (НомерКолонки),15,) ;
КонецЦикла;
КонецЕсли;
// Добавляем строчку
Т3_3апроса.НоваяСтрока();
// Поколоночно пишем в таблицу данные
Для НомерКолонки = 1 по QueryResults.Columns Цикл
ТЗ_Запроса.УстановитьЗначение(НомерСтроки, НомерКолонки,
QueryResults.GetColumnString(НомерСтроки,НомерКолонки));
КонецЦикла;
КонецЦикла;

// Показать таблицу
Т3_3апроса.ВыбратьСтроку();
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
Использование SQL-DMO 251

Данный пример является универсальным, т. е. в переменную строкаЗапроса
можно поместить произвольный текст запроса, и при этом по-прежнему
будет корректно выводиться результат выполнения запроса. Это достигается
благодаря наличию свойств ROWS, columns и CoiumnName у объекта
QueryResuits. В результате обработки объекта QueryResuits получаем таб-
лицу значений, содержащую результаты выполнения запроса.
Таким образом, как следует из данного примера, общий алгоритм выполне-
ния произвольного запроса следующий:
1. С ПОМОЩЬЮ метода ExecuteWithResults объекта Database Получаем объ-
ект QueryResuits, содержащий результат выполнения запроса.
2. Для инициализации колонок результирующей таблицы значений обходим
все поля объекта QueryResuits, с помощью свойства CoiumnName получа-
ем имена полей, после чего создаем одноименные колонки в таблице
значений. Количество полей определяется свойством columns.
3. Построчно обходим все записи объекта QueryResuits. Количество запи-
сей определяется свойством ROWS.
4. Для каждой записи обходим все поля объекта QueryResuits, с помощью
метода Getcoiumnstring получаем значения соответствующих ячеек и по-
мещаем их в результирующую таблицу значений.



Резервирование
и восстановление базы данных
Для создания резервной копии базы данных предназначен объект Backup.
Рассмотрим основные свойства этого объекта.
П Action — свойство, определяющее, по отношению к чему выполнять
действия резервирования данных (возможные значения свойства пере-
числены в табл. 6.4);
П Database — имя резервируемой базы данных;
П Files — имя файла резервных данных;
О MediaName — дополнительное описание, помогающее в идентификации
резервной копии;
П BackupSetDescription — основное описание резервной копии;
П BackupSetName — идентификатор резервной копии.
Метод SQLBackup объекта Backup предназначен для создания резервной ко-
пии и, имеет один параметр — ссылку на объект SQLServer.
252 Глава б

Таблица 6.4. Возможные значения свойства Action объекта Backup

Константа SQL-DMO Значение Описание
SQLDMOBackup_Database О Резервирование всей базы данных
SQLDMOBackup_Files 2 Резервирование только определенных
файлов
SQLDMOBackup_Incremental I Дифференциальное резервирование,
т. е. копируются файлы, созданные или
измененные с момента последнего ре-
зервирования
SQLDMOBackup_Log Резервирование только файла тран-
закций


В листинге 6.16 приведен пример полного резервирования базы данных
Northwind в файл C:\BACKUP\Northwind.bak.

! Листинг 6.16. Создание резервной копии базы данных Northwind

Backup = СоздатьОбъект("SQLDMO.Backup");
Backup.Action = 0;
Backup.Database = "Northwind";
Backup.Files = "C:\BACKUP\Northwind.bak";
Backup.MediaName = "Northwind.bak " + РабочаяДата() + " " +
ТекущееВремя();
Backup.BackupSetName = "Northwind";
Backup.BackupSetDescr-iption = "Резервная копия";
Backup.SQLBackup(SQLServer);


Для восстановления созданной ранее резервной копии предназначен объект
Restore.
Рассмотрим основные свойства этого объекта.
О Action — описывает по отношению к чему выполнять восстановление
данных (возможные значения свойства перечислены в табл. 6.5);
П Database — имя базы данных, для которой восстанавливаются данные;
П Files — имя файла резервной копии;
П FiieNumber — порядковый номер записи резервной копии;
П RepiaceDatabase — признак замены резервного образа базы данных
(свойство может принимать значение -1 — истина и о — ложь);
О LastRestore — признак восстановления последних записей файла тран-
закций (свойство может принимать значение -1 — истина и о — ложь).
Использование SQL-DMO 253

Таблица 6.5. Возможные значения свойства Action объекта Restore

Константа SQL-DMO Значение Описание
SQLDMORestore_Database 0 Восстановление всей базы данных
SQLDMORestore_Files 1 Восстановление только определенных
файлов
SQLDMORestore_Log 2 Восстановление только файла тран-
закций

В листинге 6.17 приведен пример восстановления базы данных Northwind из
ранее созданного резервного файла C:\BACKUP\Northwind.bak.
и™шмНМИНцимиррГ-"^˜"^ИИИНИИК˜"-"" ˜—˜" " "™:v"——˜ "-˜-r-'˜-"" -,
j
| Листинг 6.17. Восстановление базы данных Northwind из резервной копии

Restore = СоздатьОбъект("SQLDMO.Restore");
Restore.Action = 0;
Restore.Database = "Northwind";
Restore.Files = "C:\BACKUP\Northwind.bak",-
Restore.FileNuraber = 1;
Restore.ReplaceDatabase = -1;
Restore.LastRestore = -1;
Restore.SQLRestore(SQLServer);


Настройка ограничений доступа
к данным
Для настройки офаничений доступа к базе данных в SQL-DMO существует
три объекта:
П Login — предназначен для управления параметрами аутентификации для
контроля доступа к SQL-серверу;
П DatabaseRole — предназначен для управления списком ролей базы данных;
П user — предназначен для управления списком пользователей базы данных.
Объект Login используется для создания или модификации регистрацион-
ных имен пользователей SQL Server и их атрибутов. Объект Login имеет
следующие свойства.
CD Name — ИМЯ пользователя В формате "Имя домена\Имя пользователя";
П туре — тип пользователя (возможные значения свойства перечислены
в табл. 6.6);
П DenyNTLogin — признак запрета Windows NT авторизации пользователя.
254 Глава 6

^ Примечание
Если свойство DenyNTLogin установлено в -1 (Истина), то любая попытка
Windows NT авторизации при подключении к SQL-серверу отвергается им. Ес-
ли свойство установлено в 0 (Ложь) — Windows NT авторизация разрешена.

Таблица 6.6. Возможные значения свойства туре объекта Login

Значение Описание
Константа SQL-DMO
SQLDMOLogin_NTGroup Имя пользователя SQL Server ссылается
на группу пользователей, определенную
в Windows
SQLDMOLogin_NTUser О Имя пользователя SQL Server ссылается
на пользователя, созданного в Windows
SQLDMOLogin_Standard 2 Стандартный пользователь с SQL Server
авторизацией


В листинге 6.18 приведен пример создания нового пользователя SQL Server
с именем "MAVcoMP\mav" и Windows NT авторизацией.


6.18. Создание регистрационного имени пользователя

Login = СоздатьОбъект ("SQLDMO. Login" ) ;
Login. Name = " MAVCOMP \rnav ";
Login. Type = 1;
SQLServer. Logins. Add(Login) ;

Как следует из приведенного примера, добавление нового пользователя
ПРОИЗВОДИТСЯ С ПОМОЩЬЮ Метода Add КОЛЛеКЦИИ Logins Объекта SQLServer.
Если свойство туре имеет значение 2 (SQLDMOLogin_standard), то для поль-
зователя можно установить пароль с помощью метода setPassword. Общий
синтаксис данного метода следующий:
Login. SetPassword ("старый пароль", "новый п а р о л ь " ) .

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

Для удаления пользователя SQL-сервера в SQL-DMO предназначен метод
Remove объекта User. Для удаления ранее созданного пользователя достаточ-
но выполнить команду:
SQLServer . Logins ( "MAVCOMPXmav" ) . Remove ( ) .
Использование SQL-DMO 255

Второй рассматриваемый объект DatabaseRoie. Он предназначен для управ-
ления списком ролей базы данных. Microsoft SQL Server имеет ряд стан-
дартных ролей, описанных в табл. 6.7.

Таблица 6.7. Список стандартных ролей Microsoft SQL Server

Описание
Имя роли
Db_owner Разрешены любые действия над базой данных
Db_accessadmin Разрешено добавление и удаление пользователей
базы данных
Db_datareader Разрешено чтение любых таблиц
Db_datawriter Разрешено вносить изменения в записи таблиц
Db_ddladmin Разрешен запуск DDL (Data Definition Language — язык
определения данных) команд
Db_securityadmin Разрешена модификация прав и изменение ролей
Db_backupoperator Разрешено выполнение резервного копирования базы
Backs up the database данных
Db_denydatareader Запрещено любое чтение данных из таблиц
Db_denydatawriter Запрещено любое добавление, изменение или удале-
ние записей в таблицах или представлениях


Помимо стандартных ролей SQL-сервер может иметь и роли приложений
(Application Roles), которые в SQL-DMO можно создавать с помощью объ-
екта DatabaseRoie.
Рассмотрим основные свойства объекта DatabaseRoie.
П Name — ИМЯ роли.
О AppRole — признак роли приложения. Свойство может принимать значе-
ние -1 (Истина) и о (Ложь).


Примечание
Если свойство установлено в -1 (Истина), то для роли необходимо заполнить
свойство Password.


П Password — пароль.
В листинге 6.19 приведен пример создания новой роли базы данных.
256 Глава 6
-----,,—.
-— Г—г—--•v------."--:-—-——— 7Т" " " "—. " -—
-• .- ,
.- — ..
-


1нг 6.19. Создание новой роли базы данных Nor thwind

DbRole = Co3flaTbO6beKT("SQLDMO.DatabaseRole");
DbRole.Narae = "AppRole";
DbRole.AppRole = -1;
DbRole.Password = "erpg_ru";
SQLServer.Databases("Northwind").DatabaseRoles.Add(DbRole);


Добавление новой роли производится с помощью метода Add коллекции
DatabaseRoles объекта Database. Удаление роли происходит при помощи
метода Remove объекта DatabaseRoie. Для удаления ранее созданной роли
достаточно выполнить команду:
SQLServer.Databases("Northwind") .DatabaseRoles("AppRole") .Remove() .
Для создания нового пользователя базы данных в SQL-DMO предназначен
объект user. Объект user имеет следующие свойства:
П Name — имя пользователя;
П Login — регистрационное имя пользователя SQL Server;
П Role — имя роли пользователя.
В листинге 6.20 приведен пример создания нового пользователя с именем
"MAV" базы Данных Northwind.


истинг 6.20. Создание нового пользователя базы данных Northwind

DbUser = Co3flaTb06beKT("SQLDMO.User");
DbUser.Name = "MAV";
DbUser.Login = "MAVCOMP\mav";
SQLServer.Databases("Northwind").Users.Add(DbUser);


Для удаления пользователя базы данных предназначен метод Remove объекта
user. Для удаления ранее созданного пользователя достаточно выполнить
команду:
SQLServer. Databases("Northwind"). Users("MAV"). Remove().
После того как создан пользователь базы данных, необходимо с по-
мощью метода Grant определить его права. Права пользователя можно
определить отдельно для базы данных, для таблиц, представлений и хра-
нимых процедур.
В листинге 6.21 приведен пример установки прав для пользователя "MAV".
Использование SQL-DMO 257

Листинг 6.21. Определение прав пользователя "MAV" для базы данных Northwind |

Database = SQLServer.Databases("Northwind");
// Установить права к базе данных Northwind
Database.Grant(128, "MAV");
// Установить права к таблице Customers
Database.Tables("Customers").Grant(63, "MAV");
// Установить права к представлению Invoices
Database.Views("Invoices").Grant(63, "MAV");
// Установить права к хранимой процедуре CustOrdersOrders
Database.StoredProcedures("CustOrdersOrders").Grant(16, "MAV");


В приведенном примере устанавливаются права доступа к таблице Customers,
к представлению invoices, к хранимой процедуре CustOrdersOrders и к базе
данных Northwind. Результат установки полного доступа к таблице customers
для пользователя "MAV" приведен на рис. 6.1.

Object Properties - Northwind

Remissions


fi> Object: Щ Customers (dbo)



jList all users/user-defined database toles/'publicj
List only users/user-defined database toles/public with permissions on this object.

Users/Database Roles/Public i SELECT j INSERT IUPDATE iDELETE ^EXEC JDRI
E MAV k ;,..;*;'* Щ \ E
и [1 rj . ["]
guest Q
is'" *j^*" -Hj^
public 5f ?jf
• T5CJ oPj Iifj




Columns...


Справка
Отмена
OK


Рис. 6.1. Установка полного доступа к таблице Customers

9 Зак. 722
Глава 6
258

Как видно из примера, приведенного в листинге 6.21, метод Grant имеет два
параметра:
П номер разрешенных действий;
О имя пользователя базы данных.
Для разных объектов набор разрешенных действий различен.
В табл. 6.8 перечислены значения первого параметра метода Grant объекта
Database.

Таблица 6.8. Возможные значения разрешенных действий
ДЛЯ объекта Da tabase

Константа SQL-DMO Значение Описание
SQLDMOPriv AllDatabasePrivs 130944 Разрешены любые действия
пользователя над базой данных
SQLDMOPriv CreateDatabase 256 Пользователю разрешено соз-
дание баз данных
SQLDMOPriv CreateDefault 4096 Пользователю разрешено соз-
дание объекта default и вы-
полнение КОМаНДЫ CREATE
DEFAULT
SQLDMOPriv CreateFunction 65366 Разрешено создание пользова-
тельских функций
SQLDMOPriv CreateProcedure Разрешено создание хранимых
1024
процедур
SQLDMOPriv_CreateRule Разрешено создание ролей
16384

Разрешено создание таблиц
128
SQLDMOPriv_CreateTable

512
SQLDMOPriv CreateView Разрешено создание представ-
лений
SQLDMOPriv_DumpDatabase 2048 Разрешено создание резервных
копий базы данных
Оставлено для совместимости
SQLDMOPriv_DumpTable 32768
с ранними версиями SQL-DMO
Разрешено создание резервных
8192
SQLDMOPriv DumpTransaction
копий файла транзакций


В табл. 6.9 перечислены возможные значения разрешенных действий для
объектов Table И View.
Использование SQL-DMO 259

Таблица 6.9. Возможные значения разрешенных действий
для объектов Table И View

Константа SQL-DMO Значение Описание

SQLDMOPriv_A110bjectPrivs 63 Разрешены любые действия пользо-
вателя над таблицей или представ-
лением
SQLDMOPriv Delete Разрешено удаление записей и ис-
пользование оператора DELETE
SQLDMOPriv Insert Разрешена вставка записей и ис-
пользование оператора INSERT
SQLDMOPriv References Разрешено создание связей между
32
таблицами с помощью внешних
ключей
SQLDMOPriv Select Разрешена выборка данных с по-
мощью оператора SELECT
SQLDMOPriv Update Разрешено использование операто-
ра UPDATE



В табл. 6.10 перечислены возможные значения разрешенных действий для
объекта StoredProcedure.

Таблица 6.10. Возможные значения разрешенных действий
ДЛЯ объекта StoredProcedure

Константа SQL-DMO Значение Описание

SQLDMOPriv_A110bjectPrivs 63 Разрешены любые действия пользо-
вателя над хранимой процедурой
SQLDMOPriv Execute 16 Разрешен запуск хранимой про-
цедуры



Для того чтобы отключить соответствующее право в SQL-DMO, предназна-
чен метод Revoke, который по синтаксису аналогичен методу Grant.
В листинге 6.22 приведен программный код, отменяющий все установлен-
ные ранее (листинг 6.21) права.
260 Глава 6

I Листинг 6.22. Отмена установленных прав
i для базы данных Northwind
'--•——
Database = SQLServer.Databases("Northwind");
// Отмена прав к базе данных Northwind
Database.Revoke(128, "MAV");
// Отмена прав к таблице Customers
Database.Tables("Customers").Revoke(63, "MAV");
// Отмена прав к представлению Invoices
Database.Views("Invoices").Revoke(63, "MAV");
// Отмена прав к хранимой процедуре CustOrdersOrders
Database.StoredProcedures("CustOrdersOrders").Revoke(16, "MAV")
Глава 7


Команды управления Windows,
использующие rundl!32
Понятие rundl!32
Microsoft Windows имеет в своем составе утилиту командной строки
Rundll32.exe, которая позволяет запускать некоторые команды, заложенные
в DLL-файлах.
Данная утилита была разработана для внутреннего пользования программи-
стами Microsoft. Однако богатые возможности этой программы дают повод
использовать ее обычными программистами при разработке собственных
приложений. Список команд, реализуемых Rundll32.exe, слишком обширен.
Поэтому в данной главе будут приведены только наиболее значимые.
Для использования команд данной утилиты во встроенном языке системы
"1С:Предприятие" достаточно вызвать оператор запуститьПриложение, в па-
раметре которого указать необходимую команду. Например, для открытия
панели управления необходимо вызвать следующую команду:
ЗапуститьПриложение ("RunDLL32.EXE shel!32.dll,Control_RunDLL").
При использовании команд rundll32 следует учитывать следующие особен-
ности.
П В разных версиях операционных систем имеется свой набор доступных
команд, поэтому в данной главе, при указании команды, будут перечис-
лены операционные системы, в которых она доступна.
П Некоторые команды зависят от установленных в операционной системе
компонент. Поэтому возможны ситуации, когда определенные команды
будут недоступны, либо результат их выполнения в разных системах бу-
дет отличаться.
П Почти все команды должны вводиться с учетом регистра.
Глава 7
262

Запуск элементов панели управления
С помощью утилиты rundl!32 можно запускать элементы панели управления.
Все команды, отвечающие за их запуск, находятся в модуле Controi_RunDLL
библиотеки shell32.dll.
В табл. 7.1 приведены наиболее значимые команды, запускающие элементы
панели управления.
Таблица 7.1. Команды rundl!32, запускающие элементы панели управления

Команда
Описание команды
Открывает диалог Специальные возможно- RunDLL32. EXE
сти на закладке Экран. shel!32. dll, Control_
RunDLL access.cpl,,3
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Открывает диалог Специальные возможно- RunDLL32. EXE
сти на закладке Общие. she!132.dll,Control_
RunDLL access.cpl,,5
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Открывает диалог Специальные возможно- RunDLL32. EXE
сти на закладке Клавиатура. shell32.dll,Control_
_ RunDLL access.cpl,,1
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Открывает диалог Специальные возможно- RunDLL32. EXE
сти на закладке Мышь. shel!32.dll,Control_
„ RunDLL access.cpl,,4
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Открывает диалог Специальные возможно- RunDLL32. EXE
сти на закладке Звук. shel!32 . dll, Control_
_ RunDLL access.cpl,,2
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Открывает диалог Установка и удаление RunDLL32. EXE
программ на закладке Замена и удаление shel!32 .dll, Control_
программ. RunDLL a p p w i z . c p l , , 0
Доступна в Windows XP/2003
Открывает диалог Установка и удаление RunDLL32. EXE
программ на закладке Установка новой she!132.dll,Control_
программы. RunDLL appwi z. cpl,, 1
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Команды управления Windows, использующие rundl!32 263

Таблица 7.1 (продолжение)

Описание команды Команда
Открывает диалог Установка и удаление RunDLL32. EXE
программ на закладке Выбор программ по Shell32.dll, Control_
RunDLL appwiz.cpl,,3
умолчанию.

Доступна в Windows XP
Открывает диалог Установка и удаление RunDLL32. EXE
программ на закладке Добавление и уда- shel!32. dll, Control_
RunDLL appwi z. cpl,, 2
ление компонентов Windows.
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Установка панели управления из резервной RunDLL32. EXE
копии. shel!32 .dll,Control_
FillCache RunDLL
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Открыть Панель управления. RunDLL32.EXE
shell32.dll,control_
Доступна

в Windows 95/98/ME/NT4/2000/XP/2003
Открывает диалог Экран на закладке RunDLL32. EXE
shel!32.dll,Control_
Оформление.
J*unDLL desk• с?1 •• 2
Доступна в Windows 95/98/ME/NT4/2000/XP
Открывает диалог Экран на закладке Фон. RunDLL32. EXE
^he:[;T1^2-d1?-' Со^1:г°1-
Доступна в Windows 95/98/ME/NT4/2000/XP
RunDLL d e s k . c p l , , 0
Открывает диалог Экран на закладке RunDLL32. EXE
she!132.dll,Control_
Заставка.
RunDLL desk.cpl,,1
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Открывает диалог Экран на закладке RunDLL32. EXE
shel!32.dll,Control_
Настройка.
RunDLL desk.cpl,,3
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Открывает диалог Экран на закладке Темы. RunDLL32. EXE
Доступна в Windows 2003

Открывает диалог Экран на закладке Темы. RunDLL32. EXE
.,.-. shell32.dll,Control
Доступна в Windows XP RunDLL degk ' cpl/ f _?



ОТКРЫТЬ папку Шрифты. RunDLL32 . EXE
SHELL32.DLL,SHHelpShortcuts
RunDLL
Sows 95/98/ME/NT4/2000/XP/2003
Глава 7
264

Таблица 7.1 (продолжение)

Описание команды Команда
Открыть папку Шрифты. RunDLL32 . EXE
shel!32.dll,Control_
Доступна в Windows 95/98/ME RunDLL main, cpl @3
Открывает диалог Игровые устройства на RunDLL32 . EXE
закладке Контроллеры. shell32.dll,Control_
... RunDLL j o y . cpl
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Открывает диалог Свойства системы на за- RunDLL32 . EXE
кладке Общие. shell32.dll,Control_
RunDLL а
Доступна в Windows 95/98/ME/NT/2000/XP У***-ср1
Открывает программу Диспетчер устройств. RunDLL32.EXE devmgr.dll
Доступна в Windows 2000/XP/2003 DeviceManager_Execute
Открывает диалог Свойства обозревателя. RunDLL32 . EXE
Доступна shell32.dll,Control_
в Windows 95/98/ME/NT4/2000/XP/2003 :cpl. cpl,, tt
Открывает диалог Свойства обозревателя RunDLL32. EXE
на закладке Общие. shel!32. dll, Control_
... RunDLL inetcpl. cpl, , О
Доступна
в Windows 95/98/M E/NT4/2000/XP/2003
Открывает диалог Свойства обозревателя RunDLL32. EXE
на закладке Конфиденциальность. shel!32. d l l , Control_
unDLL etc l
Доступна в Windows NT4/2000/XP/2003 ^ P • Ч>1,, 2
Открывает диалог Свойства обозревателя RunDLL32. EXE
на закладке Безопасность. shell32.dll,Control_
R u n D L L inetc
Pl -СР!"1
Доступна в Windows NT4/2000/XP/2003
Открывает диалог Клавиатура на закладке RunDLL32. EXE
Языки и раскладки. shell32.dll,Control_
RunDLL m a i n c p l @ll
Доступна в Windows 2000/XP/2003 ' '
Открывает диалог Клавиатура на закладке RunDLL32. EXE
Скорость she!132.dll,Control_
RunDLL m a i n
'cpl @г
Доступна в Windows 2000/XP/2003 '°
Открывает диалог Телефон и модем RunDLL32. EXE
на закладке Модемы. SHELL32. DLL, Control_
,-, RunDLL modem, cpl, , add
в Windows 95/98/ME/NT4/2000/XP/2003 RunDLL32 . EXE
shel!32.dll,Control_
RunDLL modem.cpl
RunDLL32.EXE
SysDM.cpl,InstallDevice
RunDLL Modem
Команды управления Windows, использующие rundl!32 265

Таблица 7.1 (продолжение)

Команда
Описание команды
Открывает диалог Свойства мыши RunDLL32.EXE
на закладке Кнопки мыши. shell32. dll, Control_
n IAI- -i onnn/vr>/r,,-.r,'1 RunDLL main.cpl @ 0 , 0
Доступна в Windows 2000/XP/2003
Открывает диалог Свойства мыши RunDLL32. EXE
на закладке Оборудование. shel!32.dll, Control_
п vr,/or./-.o RunDLL main.cpl @0, 4
Доступна в Windows XP/2003
Открывает диалог Свойства мыши RunDLL32. EXE
на закладке Опции. shel!32 . dll, Control_
п \/1-,//->лог> RunDLL m a i n . c p l @ 0 , 2
Доступна в Windows XP/2003
Открывает диалог Свойства мыши RunDLL3 2. EXE
на закладке Указатели. shel!32 . dll, Control_
ч/п//чол^ RunDLL main.cpl @0,1
Доступна в Windows XP/2003
Открывает диалог Свойства мыши RunDLLS 2. EXE
на закладке Действия. shel!32 . dll, Control_
x/i-1/г.плл, RunDLL main.cpl @ 0 , 3
Доступна в Windows XP/2003
Открывает диалог Звуки и мультимедиа RunDLLS 2. EXE
на закладке Звуки. shel!32.dll,Control_
Доступна в Windows 95/98/ME/NT4/2000 RunDLL mmsys. cpl,, О
Открывает диалог Звуки и мультимедиа RunDLL32. EXE
на закладке CD-ROM. shell32 . dll, Control_
-_._„...._...._.. RunDLL m m s y s . c p l , , 3
Доступна в Windows 95/98/ME/NT4
Открывает диалог Звуки и мультимедиа RunDLL32. EXE
на закладке Устройства. she 1132 .dll, Control_
• ,г-/чт. RunDLL mmsys. cpl,, 4
Доступна в Windows 95/98/ME/NT4
Открывает диалог Звуки и мультимедиа RunDLL32. EXE
на закладке MIDI. shell32.dll,Control_
_,.,__ ,..г-Лпч RunDLL mmsys. cpl,, 2
Доступна в Windows 95/98/ME/NT4
Открывает диалог Звуки и мультимедиа RunDLL32. EXE
на закладке Аудио. shell32.dll,Control_
lsys С]
Доступна в Windows 95/98/ME/NT4/2000 '
Открывает диалог Сетевые свойства. RunDLL32. EXE
лг-/г,г,/ш- shel!32 .dll, Control
Доступна в Windows 95/98/ME ^ cpl
RunDLL netc


Открывает диалог Настройки ODBC RunDLL32. EXE
источников данных. shel!32.dll,Control_
RunDLL odbccp32.cpl
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Глава 7
266

Таблица 7.1 (продолжение)

Команда
Описание команды
Открывает диалог Пароли. RunDLL32 . EXE
f e ^ T 3 2 ' dH- Control
Доступна в Windows 95/98/ME
RunDLL password.cpl
Открывает диалог Свойства PCMCIA. RunDLLS2 . EXE
Доступна в Windows 95/98/ME

Открывает диалог Управление питанием RunDLLS2 . EXE
на закладке Схемы. 132.dll, Control_
Доступна в Windows 95/98/ME/NT4/2000/XP
Открывает диалог Электропитание RunDLLS2. EXE
на закладке Схемы. shel!32 . dll, Control^
lunDLL U
PS-C^1
Доступна в Windows NT4/2000/XP
Открывает диалог Языки и стандарты RunDLL32. EXE
на закладке Денежная единица. shell32. dll, Control_
_ RunDLL i n t l . c p l , , 2
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Открывает диалог Языки и стандарты RunDLLS2. EXE
на закладке Дата. s h e l l 3 2 . d l l , Control^
unDLL i n t l
'cpl" 4
Доступна в Windows 95/98/ME/NT4/2000
Открывает диалог Языки и стандарты RunDLLS2. EXE
на закладке Общие. shell32.dll,Control_
Доступна в Windows 95/98/ME/NT4/2000 RunDLL intl. cpl, , О
Открывает диалог Языки и стандарты RunDLL32. EXE
на закладке Языки и раскладки. shell32 .dll,Control_
Доступна в Windows 95/98/ME/NT4/2000 RunDLL intl. cpl,, 5

Открывает диалог Языки и стандарты RunDLLS2. EXE
на закладке Числа. shel!32.dll,Control_
RunDLL
Доступна ^1. c p l , , 1
в Windows 95/98/ME/NT4/2000XP/2003
Открывает диалог Языки и стандарты RunDLLS2. EXE
на закладке Время. shel!32.dll,Control_
Доступна в Windows 95/98/ME/NT4/2000 RunDLL intl. cpl,, 3

Открывает диалог Звуки и мультимедиа. RunDLLS2. EXE
Доступна в Windows 95/98/ME/NT4 shel!32 .dll, Control
RunDLL mmsys.cpl @1
Открывает диалог Звуки и аудиоустройства RunDLLS 2. EXE
на закладке Аудио. shel!32.dll,Control_
RunDLL
Доступна в Windows XP/2003 ™«=уs. cpl,, 2
Команды управления Windows, использующие rundl!32 267

Таблица 7.1 (продолжение)

Описание команды Команда
Открывает диалог Звуки и аудиоустройства RunDLL32. EXE
на закладке Оборудование. shell32 . dll, Control_
_ wn/^ллл RunDLL ramsys.cpl,,4
Доступна в Windows XP/2003
Открывает диалог Звуки и аудиоустройства RunDLL32. EXE
на закладке Звуки. shel!32.dll,Control_
•ч ..,- -i RunDLL m m s y s . c p l , , !
\fi-4nnnn
Доступна в Windows XP/2003
Открывает диалог Звуки и аудиоустройства RunDLL32. EXE
на закладке Речь. shel!32.dll,Control^
ч/г,/^лло RunDLL mmsys.cpl,, 3
Доступна в Windows XP/2003
Открывает диалог Звуки и аудиоустройства RunDLL32. EXE
на закладке Громкость. shel!32. dll, Control_
RunDLL m m s y s . c p l , , О
Доступна в Windows XP/200
Открывает диалог Свойства системы RunDLL32.EXE
на закладке Дополнительно. shel!32 .dll, Control_
RunDLL s y s d m . c p l , , 3
Доступна в Windows XP/2003
Открывает диалог Свойства системы RunDLL32. EXE
на закладке Восстановление системы. shel!32.dll,Control_
RunDLL s y s d m . c p l , , 4
Доступна в Windows XP/2003
Открывает диалог Свойства системы RunDLL32. EXE
на закладке Автоматическое обновление. shel!32. dll, Control_
RunDLL sysdm.cpl,,5
Доступна в Windows XP
Открывает диалог Свойства системы RunDLL32. EXE
на закладке Имя компьютера. shel!32. dll, Control_
RunDLL sysdm.cpl,,!
Доступна в Windows XP/2003
Открывает диалог Свойства системы RunDLL3 2. EXE
на закладке Общие. shel!32. dll, Control_
RunDLL sysdm.cpl,,О
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Открывает диалог Свойства системы RunDLL32. EXE
на закладке Оборудование. shel!32. dll, Control
Доступна в Windows NT4/2000/XP/2003
Открывает диалог Свойства системы RunDLL32. EXE
на закладке Сетевая идентификация. shel!32. dll, Control_
RunDLL sysdm.cpl,,!
Доступна в Windows NT4/2000
Открывает диалог Свойства системы RunDLL32 . EXE
на закладке Удаленное использование. shel!32. dll, Control_
RunDLL sysdm.cpl,,б
Доступна в Windows XP
Глава 7
268

Таблица 7.1 (окончание)

Команда
Описание команды
Открывает диалог Свойства системы RunDLL32. EXE
на закладке Удаленное использование. shel!32 .dll, Control_
RunDLL sysdm.cpl,,5
Доступна в Windows 2003
Открывает диалог Свойства системы RunDLL32. EXE
на закладке Дополнительно. shel!32.dll, Control_
ол™/ч/т-> RunDLL s y s d m . c p l , , 4
Доступна в Windows 2000/XP
Открывает диалог Свойства системы RunDLL32. EXE
на закладке Профили пользователей. shel!32 .dll, Control_
RunDLL
Доступна в Windows 95/98/ME/NT4/2000/XP sysdm. cpl,, 3
Открывает диалог Телефон и модем. RunDLL32. EXE
Доступна shell32.dll,Control_
Leph
° n 'cpl
в Windows 95/98/ME/NT4/2000/XP/2003
Открывает диалог Темы в Windows 95/98 RunDLL32. EXE
при установке Windows Plus. shel!32 . dll,Control_
RunDLL themes.cpl
Доступна в Windows 95/98/ME
Открывает диалог Дата и время. RunDLL32. EXE
Доступна shell32.dll,Control_
RunDLL
в Windows 95/98/ME/NT4/2000/XP/2003 ^f^ ^
Открывает диалог Дата и время RunDLL32. EXE
на закладке Часовой пояс. shell32.dll,Control_
_ RunDLL t i m e d a t e . c p l , , / f
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Открытие папки Сеть и Удаленный доступ RunDLL32. EXE
к сети. she!132.dll,Control_
Доступна в Windows NT4/2000/XP/2003 RunDLL ncpa. cpl



Как видно из табл. 7.1, многие команды имеют два параметра, разделенные
запятой. Первый параметр обычно указывает на внутренний параметр модуля
Controi_RunDLL, второй — номер закладки, которую необходимо открыть
при открытии соответствующего элемента панели управления. Последний
параметр можно опустить, при этом будет открыта закладка, использующаяся
в диалоге по умолчанию.
В листинге 7.1 приведено несколько примеров запуска элементов панели
управления.
Команды управления Windows, использующие rundl!32 269

iуправления
..
.J
// Открывает диалог "Свойства системы" на закладке "Дополнительно"
ЗапуститьПриложение("RunDLL32.EXE shel!32.dll,Control_RunDLL
sysdm.cpl,, 4") ;
// Открьтает диалог "Свойства системы" на закладке по умолчанию
ЗапуститьПриложение("RunDLL32.ЕХЕ shell32.dll,Control_RunDLL sysdm.cpl");
// Открывает диалог "Дата и время"
ЗапуститьПриложение("RunDLL32.EXE shel!32.dll,Control_RunDLL
timedate.cpl");
// Открывает диалог "Дата и время" на закладке "Часовой пояс"
ЗапуститьПриложение("RunDLL32.EXE shel!32.dll,Control^
RunDLL timedate.cpl,,/f");
// Открывает диалог "Свойства мыши"
ЗапуститьПриложение("RunDLL32.EXE shell32.dll,Control_RunDLL main.cpl @0") ;
// Открывает диалог "Клавиатура"
ЗапуститьПриложение("RunDLL32.EXE shel!32.dll,Control_RunDLL main.cpl 01") ;


Запуск мастеров
При работе с операционной системой Microsoft Windows доступно множест-
во мастеров, позволяющих облегчить выполнение различных действий, на-
пример, создание нового Dial-Up соединения, подключение сетевых дисков
или настройка сети. Все доступные мастера находятся в различных библио-
теках, поэтому общего правила их вызовов не существует.
В табл. 7.2 приведены команды запуска основных мастеров.

Таблица 7.2. Команды rundl!32, запускающие мастеров выполнения
различных действий

Команда
Описание команды
RunDLL32.EXE
Запуск мастера очистки рабочего стола.
FLDRCLNR.DLL,Wizard RunDLL
Доступна в Windows XP
RunDLL32.EXE
Запуск мастера создания нового
RNAUI.DLL,RnaWizard
Dial-Up-соединения.
Доступна
в Windows 95/98/ME/NT4/2000XP
RunDLL32.EXE
Запуск мастера установки сканера
SysDM.cpl,InstallDevice_
или цифровой камеры.
RunDLL ImageRunDLL32.EXE
Доступна в Windows 95/98/ME/XP wiashext.dll,AddDeviceWasChosen
Глава 7
270

Таблица 7.2 (окончание)

Описание команды Команда
RunDLL32.EXE
Запуск мастера добавления в сетевое
netplwiz.dll,AddNetPlaceRunDll
окружение.
Доступна в Windows 2000/XP/2003
RunDLL32.EXE
Запуск мастера подключения сетевых
USER.DLL,wnetconnectdialog
дисков.
Доступна в Windows 95/98/ME
RunDLL32.EXE
Запуск мастера подключения сетевых
shel!32.dll,SHHelpShortcuts_
дисков.
RunDLL Connect
Доступна в Windows NT4/2000/XP/2003
RunDLL32.EXE
Запуск мастера сетевой идентификации.
netplwiz.dll,NetAccWizRunDll
Доступна в Windows 2000
RunDLL32.EXE hnet-
Запуск мастера настройки сети.
wiz.dll,HomeNetWizardRunDll
Доступна в Windows XP
RunDLL32.EXE net-
Запуск мастера новых подключений.
shell.dll, StartNCW
Доступна в Windows XP/2003
RunDLL32.EXE
Запуск мастера установки нового принтера.
SHELL32.DLL,SHHelpShortcuts_
Доступна
RunDLL AddPrinter
в Windows 95/98/ME/NT4/2000/XP
RunDLL32.EXE RunDLL32
.SysDM.cpl,InstallDevice_
RunDLL Printer,,0
RunDLL32.EXE tcpmo-
Запуск мастера добавления стандартного
nui.dll,LocalAddPortUI
TCP/IP-порта принтеров.
Доступна в Windows 2000



В листинге 7.2 приведено несколько примеров запуска различных ма-стеров.



// Запуск мастера создания нового Dial-Up-соединения
ЗапуститьПриложение("RunDLL32.EXE RNAUI.DLL,RnaWizard"};
// Запуск мастера новых подключений
ЗапуститьПриложение("RunDLL32.EXE netshell.dll,StartNCW");
// Запуск мастера установки нового принтера
ЗапуститьПриложение("RunDLL32.EXE SHELL32.DLL,SHHelpShortcuts
RunDLL AddPrinter");
Команды управления Windows, использующие rundl!32 271


Работа с сетью Интернет
В операционной системе Microsoft Windows существуют множество возмож-
ностей работы с сетью Интернет, небольшую часть которых можно исполь-
зовать через утилиту rund!132.
В табл. 7.3 приведены команды, работающие с интернет-технологиями.

Таблица 7.3. Команды rundll32, работающие с интернет-технологиями

Описание команды Команда
RunDLL32.EXE
Установка соединения с Dial-Up-соединением,
Rnaui.dll,RnaDial
с именем, указанным в параметре
ConnectionName
ConnectionName.
Доступна в Windows 95/98/ME/NT4/2000/XP
Открывает специальные интернет-каналы, где RunDLL32. EXE
параметр %1 — полный путь к файлу CDF. cdfview.dll,openChannel %1
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Открывает Internet Explorer на странице авто- RunDLL32. EXE
ризации почтового ящика HotMail. "%ProgramFiles%\
Internet ExplorerN
Доступна hmmapi.dll",OpenInboxHandler
в Windows 95/98/ME/NT4/2000/XP/2003
Открывает диалог Восстановления настроек RunDLL32. EXE setupwbv. dll,
Internet Explorer. Поддерживается в Internet lESMaintenance "C:\
Explorer версий 5 и 6. Program FilesUnternet
sETUp!EXE" e /g P "%SystemRoot%\
Доступна в Windows 95/98/ME/NT4/2000/XP
IE Uninstall L o g . T x t "
Открывает подписку на специальный интер- RunDLL32. EXE
нет-канал, путь к СВА-файлу которого опре- cdfview. dll, Subscribe %1
деляется в параметре %1.
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Создание нового письма адресату, указан- RunDLL32. EXE u r l . dll,
ному в параметре %1. При этом запускается MailToProtocolHandler %1
почтовая программа, используемая в системе
по умолчанию.
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Открытие программы чтения групп новостей, RunDLL32.EXE u r l . d l l ,
имя сервера указывается в параметре %1. NewsProtocolHandler %1
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Глава 7
272

Таблица 7.3 (окончание)

Описание команды Команда

Запуск интернет-ресурса с адресом, RunDLL32.EXE u r l . d l l ,
указанном в параметре % l . FileProtocolHandler %1
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Открытие диалога печати HTML-документа RunDLL32.EXE m s h t m l . d l l ,
с именем HtmlFileNameAndPath. PrintHTML
"HtmlFileNameAndPath"
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003

Установить соединение по Telnet-адресу, RunDLL32. EXE u r i . d l l ,
указанному в параметре %l. TelnetProtocolHandler %1
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003


В листинге 7.3 приведено несколько примеров использования интернет-
технологий.


: Листинг 7.3. Работа с Интернетом

// Создание нового письма автору
ЗапуститьПриложение("RunDLL32.EXE url.dll,MailToProtocolHandler
mav@erpg.ru");
// Запуск интернет-страницы автора
ЗапуститьПриложение("RunDLL32.EXE url.dll,FileProtocolHandler
www.erpg.ru");
// Распечатать заглавную страницу форума автора
ЗапуститьПриложение("RunDLL32.EXE mshtml.dll, PrintHTML
""http://forum.erpg.ru""");



Установка и удаление принтера
С помощью rundl!32 можно автоматически установить или удалить принтер.
Для этих целей используется команда:
rund!132 p r i n t u i . d l l , P r i n t U I E n t r y [параметры] [@командный ф а й л ] .


^ Примечание
Данная команда доступна только в операционных системах Windows 2000/XP/2003.
Команды управления Windows, использующие rundl!32 273

Рассмотрим возможные параметры данной команды.
О /а [файл] — имя двоичного файла;
О /Ь[имя] — основное имя принтера;
П /с [имя] — UNC-имя компьютера, где выполняется команда;
П /dl — удаление локального принтера;
П /dn — удаление подключения к сетевому принтеру;
О /dd — удаление драйвера принтера;
П /е — вывод параметров настройки печати;
П /?[файл] — информационный или выходной файл;
О /да — добавление подключений компьютеров к принтеру;
П /де — перечисление подключений компьютеров к принтеру;
П /gd — удаление подключений компьютеров к принтеру;
П / h [ a p x ] — архитектура драйвера Alpha|Intel|Mips|PowerPC;
П /la — установка драйвера принтера с помощью информационного файла;
П /id — установка драйвера принтера с помощью мастера установки драй-
веров принтеров;
П / i f — установка принтера с помощью информационного файла;
П /ii — установка принтера с помощью мастера установки принтеров
и информационного файла;
П / i i — установка принтера с помощью мастера установки принтеров;
П /in — добавление подключения к принтеру;
О /j [имя] — имя системы печати;
П /k — печать пробной страницы на выбранном принтере (не может ис-
пользоваться с другими командами установки принтера);
П /I [путь] — путь к исходному размещению драйвера принтера;
П /т [модель ] — имя модели драйвера принтера;
П / п [ и м я ] — имя принтера;
О /о — показать очередь заданий на печать;
П /р — отображение свойств принтера;
П /q — скрытый режим без вывода сообщений об ошибках;
П /г [порт] — имя порта;
П /s — показать свойства сервера;
П /ss — запись параметров принтера в файл;

ШЗак. 722
Глава 7
274

П /sr — чтение параметров принтера из файла, при этом флаги, исполь-
зуемые при записи или чтении параметров принтера и помещаемые в кон-
це команды, могут принимать значения:
• с — профиль цвета;
• d — данные принтера;
• s — дескриптор безопасности;
• g — глобальный режим;
• m — минимальный набор параметров;
• и — пользовательский режим;
,
• г — разрешить конфликты имен;
• f — принудительное использование имени;
• р — сопоставить порт;
П /и — использовать существующий драйвер принтера, если он установлен;
О /t [номер] — номер начальной страницы (с нуля);
П / v [ в е р с и я ] — в е р с и я драйвера;
П /w — запрос драйвера у пользователя, если драйвер не найден в INF-файле;
П /у —- назначить принтер используемым по умолчанию;
П /хд — получить параметры принтера;
П /хз — установить параметры принтера;
О /z — не разрешать автоматический общий доступ к этому принтеру;
О /z — общий доступ к принтеру, используется только вместе с параметром / i f .
П Окомандный файл — файл аргументов командной строки.
В листинге 7.4 приведено несколько примеров работы с принтером.
f: " -----,-,г˜--˜˜------——-.— ....тт-т—.- ---------- - т-- - -— ---—----
: Листинг 7.4. Работа с принтером

// Запуск свойств сервера
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /s /tl
/n\\machine");
// Запуск свойств принтера
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /p
/n\\machine\printer");
// Локальный запуск мастера установки принтеров
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /il");
// Запуск мастера установки принтеров на компьютере \\machine
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /il /c\\machine'
Команды управления Windows, использующие rundl!32 275

// Запуск показа очереди
ЗапуститьПриложение("rundll32 printui.dll,PrintUIEntry /о
/n\\machine\printer") ;
// Запуск установки с помощью информационного файла
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /if /
b ""Test Printer"" /f %windir%\inf\ntprint.inf /r ""Iptl:"" /
m ""AGFA-AccuSet v52.3""");
// Запуск мастера установки принтеров с помощью информационного файла
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /ii
/f %windir%\inf\ntprint.inf");
// Добавление подключений компьютеров к принтеру
ЗапуститьПриложение("rund!132 printui.dll,PrintUIEntry /ga /c\\machine
/n\\machine\printer /j""LanMan Print Services""");
// Удаление подключений компьютеров к принтеру
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /gd /c\\machine
/n\\machine\printer");
// Перечисление подключений компьютеров к принтеру
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /ge /c\\machine");
// Добавление драйвера принтера с помощью информационного файла
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /ia /c\\machine /m
""AGFA-AccuSet v52.3"" /h ""Intel"" /v ""Windows 2000"" /f %win-
dir%\inf\ntprint.inf");
// Удаление драйвера принтера
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /dd /c\\machine /m
""AGFA-AccuSet v52.3"" /h ""Intel"" /v ""Windows 2000""");
// Назначение принтера используемым по умолчанию
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /у /n
""printer""");
// Указание описания принтера
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /Xs /n ""printer""
comment ""My Cool Printer );
// Получение параметров принтера
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /Xg /n
""printer""");
// Получение параметров принтера и запись их в файл
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /f ""results.txt""
/Xg /n ""printer""");
// Справка об установке параметров принтера:
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /Xs /n ""printer""
?");
// Запись всех параметров принтера в файл
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /Ss /n ""printer""
/a ""file.dat""");
276 Глава 7
II Чтение всех параметров принтера из файла
ЗапуститьПриложение("гипс11132 printui.dll,PrintUI /Sr /n ""printer"" /a
""file.dat""");
// Запись сведений принтера уровня 2 в файл
ЗапуститьПриложение("гип<11132 printui.dll,PrintUIEntry /Ss /n ""printer""
/a ""file.dat"" 2");
// Восстановление дескриптора безопасности из файла
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /Sr /n ""printer""
/a ""file.dat"" s");
// Восстановление глобального devmode и данных принтера из файла
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /Sr /n ""printer""
/a ""file.dat"" g d");
// Восстановление набора параметров из файла и разрешение имени порта
ЗапуститьПриложение("rundl!32 printui.dll,PrintUIEntry /Sr /n ""printer""
/a ""file.dat"" m p">;
// Выполнение команды, описанной во внешнем файле command.txt
ЗапуститьПриложение("rund!132 printui.dll,PrintUIEntry 3command.txt");


Прочие команды
Помимо перечисленных ранее команд в Windows существуют и другие, ко-
торые не поддаются классификации. Например, команды, отвечающие за
работу с папкой Портфель, команды открытия файлов, блокировки компью-
тера и др. Команды этого типа перечислены в табл. 7.4.
Таблица 7.4. Прочие команды rund/132

Описание команды Команда
Установить каскадное расположение окон RunDLL32. EXE
приложений на рабочем столе. USER. DLL, cascadechild
Доступна в Windows 95/98/ME
Установить расположение окон приложе- RunDLL32 . EXE
ний на рабочем столе в виде заголовков. USER. DLL, tilechild
Доступна в Windows 95/98/ME
Создать новую папку Портфель, если эта RunDLL32. EXE
функция установлена в системе. SYNCUI . DLL, Brief case_create
Доступна
в Windows 95/98/ME/NT4/2000/XP
Запустить заглавную страницу папки RunDLL32. EXE
Портфель. syncui.dll,Briefcase_Intro
Доступна
в Windows 95/98/ME/NT4/2000/XP
Команды управления Windows, использующие rundl!32 277

Таблица 7.4 (продолжение)

Описание команды Команда
RunDLL32.EXE
Открыть окно Порты панели управления.
shel!32.dll,Control_
Доступна в Windows NT4
RunDLL ports.cpl
Переключить разрешение экрана. Пара- RunDLL32. EXE
метры: DESKCP16.DLL,QUICKRES_
RUNDLLENTRY HxVxR
н — горизонтальное разрешение, напри-
мер, 640, 800 и т. п.;
V — вертикальное разрешение, например,
480, 600 и т. п.;
R — глубина цвета, например,
8 (256 цветов), 16, 32 и т. п.
Доступна в Windows 95/98/ME
Запуск программы копирования дискет. RunDLL32. EXE
Доступна DISKCOPY.DLL,DiskCopyRunDll
в Windows 95/98/ME/NT4/2000/XP
Запуск программы форматирования RunDLL32. EXE
дискеты. SHELL32.DLL,SHFormatDrive
Доступна
в Windows 95/98/ME/NT4/2000/XP
Перерисовка (обновление) экрана. RunDLL32 ..EXE
Доступна в Windows 95/98/ME USER. DLL, repaintscreen

Открытие DUN-сервера. RunDLL32. EXE
Доступна в Windows 95/98/ME rnaserv.dll,CallerAccess

Запуск программы быстрого поиска RunDLL32. EXE
(если установлена). shel!32.dll,Control_
„ RunDLL findfast.cpl
Доступна
в Windows 95/98/ME/NT4/2000/XP
Запуск диалога открытия файла с именем RunDLL32. EXE
FileName. SHELL32.DLL,OpenAs_
RunDLL FileName
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Открывает диалог Отключение RunDLL32. EXE
и извлечение аппаратного устройства. shel!32. dll, Control
RunDLL h
°tplug'd:
Доступна в Windows 2000/XP/2003
Открывает диалог Упорядочить избранное. RunDLL32. EXE
_ shdocvw.dll,DoOrganizeFavDlg
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Глава 7
278

Таблица 7.4 (продолжение)

Описание команды Команда
Отключение клавиатуры. RunDLL32.EXE KEYBOARD, disable
Доступна в Windows 95/98/ME
Открывает Microsoft Exchange профиль. RunDLL32 .EXE
flocTy^W^dowsQ^e/ME

Открывает Microsoft Postoffice Workgroup RunDLL32. EXE
Admin shell32.dll,Control_
RunDLL
«9P°cpl •c?1 ˜
Доступна в Windows 95/98/ME
Установка времени двойного щелчка мыши. RunDLL32.EXE USER.DLL,
Значение Value указывается SetDoubleClickTime Value
в миллисекундах.
Доступна в Windows 95/98/ME
Переключает левую и правую кнопки мыши. RunDLL32. EXE
USER
• DLL ' SwapMouseButton
Доступна в Windows 95/98/ME
Переключает левую и правую кнопки мыши. RunDLL32. EXE
U S E R 3 2 DLL
Доступна в Windows NT4 ' ' SwapMouseButton
Запуск диалога отключения RunDLL32.EXE USER.DLL,
от присоединенного сетевого диска. wnetdisconnectdialog
Доступна в Windows 95/98/ME
Запуск диалога отключения RunDLL32.EXE shell32.dll,
от присоединенного сетевого диска. SHHelpShortcuts_
Доступна в Windows NT4/2000/XP/2003 RunDLL Disconnect
Запустить программу "Управление RunDLL32 . EXE
сервером". shell32.dll,Control_
RunDLL s r v m g r
'cpl
Доступна в Windows NT4
Открыть диалог создания нового общего RunDLL32. EXE
ресурса. NTLANUI.DLL,ShareCreate
Доступна в Windows NT4/2000/XP/2003
Открыть диалог общих папок. RunDLL32. EXE
Доступна в Windows NT4/2000/XP/2003 NTLANUI. DLL, ShareManage
Открытие диалога создания ярлыка для RunDLL32.EXE A p p W i z . C p l ,
файла, указанного в параметре %1. NewLinkHere %1
Доступна
в Windows 95/98/ME/NT4/2000/XP/2003
Запуск программы TweakUl, если она RunDLL32. EXE
установлена в системе. s h e l l 3 2 . d l l , Control_RunDLL
Доступна в Windows 95/98/ME/NT4 tweakui . cpl
279
Команды управления Windows, использующие rundl!32

Таблица 7.4 (окончание)

<<

стр. 8
(всего 10)

СОДЕРЖАНИЕ

>>