Использование консольных команд WinXP в DELPHI
Использование консольных команд WinXP в DELPHI
Использование консольных команд WinXP в DELPHI Я приведу две из них: - rasdial для установления (разрыва) модемного соединения; - shutdown для выключения или перезагрузки компьютера и примеры их вызова из программы на delphi 1.Для установления (разрыва) модемного соединения и выключения или перезагрузки компьютера rasdial - Выполняет автоматический набор номера для клиентов microsoft. Команда rasdial, запущенная без параметров, показывает состояние текущих подключений. Синтаксис rasdial имя_подключения [имя_пользователя [{пароль|* } ] ] [/domain:домен] [/phone:номер_телефона] [/callback:номер_для_ответного_вызова] [/phonebook:путь_к_телефонной_книге] [/prefixsuffix] rasdial [имя_подключения] /disconnect Параметры имя_подключения Требуется при подключении к записи телефонной книги (.pbk). Задает запись текущего файла .pbk из корневой_папки_системы\system32\ras. Если имя_подключения содержит пробелы, его следует заключать в кавычки (т. е. "имя_подключения"). Файл rasphone.pbk используется по умолчанию, если не задана Личная_телефонная_книга. Если она задана, используется файл имя_пользователя.pbk. Имя выводится в заголовке окна rasphone при задании личной телефонной книги. В случае конфликта имен происходит добавление цифр. имя_пользователя [{пароль|*}] Задает имя пользователя и пароль для подключения. Если используется символ звездочки, пользователю выдается запрос на ввод пароля, но вводимые символы не отображаются. /domain:домен Задает домен, в котором находится учетная запись пользователя. Если этот параметр отсутствует, используется последнее значение поля Домен диалогового окна Подключение к. /phone:номер_телефона Заменяет номер телефона, заданный для телефонного номера данной записи в файле телефонной книги rasphone.pbk. /callback:номер_для_ответного вызова Заменяет номер телефона для ответного вызова, заданный для записи из файла телефонной книги rasphone.pbk. /phonebook:путь_к_телефонной_книге Задает путь к файлу телефонной книги. По умолчанию задан системный_корневой_каталог\system32\ras\имя_пользователя.pbk. Можно указать полный путь к файлу. /prefixsuffix Применяет к набираемому номеру телефона параметры набора номера tapi для текущего местоположения. Эти параметры настраиваются в телефонной службе с помощью компонента "Параметры телефона и модема", находящегося на панели управления. По умолчанию этот параметр отключен. /disconnect Данный параметр требуется при отключении. Отключает заданное подключение. Отключение также выполняется с помощью ввода параметра /d. Примечания Команда rasdial не поддерживает следующие функции rasphone.exe: Записи, требующие ввода данных в терминальном режиме в процессе набора номера. Набор номера через оператора или вручную. Примеры вызова в консоли В примере показано подключение к записи office файла телефонной книги rasphone.pbk. rasdial office В примере показано подключение к записи office 2 файла телефонной книги rasphone.pbk с заданием номера обратного вызова. rasdial "office 2" /callback:555-0100 В примере показано отключение от записи east office. rasdial "east office" /d Установить соединение из программы можно следующим образом: procedure tform1.rasconnect(sender: tobject); begin winexec(pchar('rasdial "имя соединения" '+login+' '+password), sw_show); //sw_show - в окне sw_hide - скрыть окно end; Разорвать соединение: procedure tform1.rasdisconnect(sender: tobject); begin winexec(pchar('rasdial "имя соединения" /disconnect'), sw_hide); //sw_show end; ----------------------------------- 2.shutdown - выключение / перезагрузка компьютера shutdown [-i | -l | -s | -r | -a] [-f] [-m \\<компьютер>] [-t xx] [-c "комментарий"] [-d up:xx:yy] Без аргументов Вывод справки по использованию (как и -?) -i Отображение интерфейса, д.быть первым параметром -l Выход (не совместим с параметром -m) -s Завершение работы компьютера -r Перезагрузка компьютера -a Прекращение завершения работы системы -m \\<компьютер> Удаленный компьютер, на котором выполняется действие -t xx Таймаут завершения работы - xx сек. -c "comment" Комментарий (не более 127 знаков) -f Принудительное завершение приложений без предварительного предупреждения -d [u][p]:xx:yy Код причины завершения работы u - пользовательский код p - код запланированного завершения xx - основной код причины (1 - 255) yy - дополнительный код причины (1 - 65535) Из программы procedure tform1.compshutdown(sender: tobject); // Выключение begin winexec(pchar('shutdown -s -t 02'), sw_show); end; procedure tform1.kompdown(sender: tobject); // Перезагрузка begin winexec(pchar('shutdown -r -t 02'), sw_show); end; Вы можете заменить winexec на shellexecute (как рекомендует borland) но суть от этого не изменится :) Полный перечень консольных команд Вы можете получить, вызвав справку winxp. Надеюсь, что найдете там много интересного...