Расширение функций программы за счет вызова внешних программ

В программе LockWin имеется возможность расширения ее функций за счет вызова внешних программ (или скриптов) в различные моменты времени.  Для описания этих вызовов используется окно "Запуск внешних программ":

В левой части этого окна находится список "точек вызова" внешних программ.  В правой части окна выводится список строк, описывающих запуска программ (скриптов) для каждой из "точек вызова".  При помощи кнопки "Выполнить" можно запустить последовательность вызова программ выбранной "точки" для проверки.  При помощи кнопки "Включить/выключить" можно временно отменить выполнение заданной "точки".

Список точек вызова не предназначен для редактирования и содержит все точки, в которых можно запускать внешние программы на данный момент:

Если вам нужны еще какие-либо другие точки вызова программ - пишите - и мы их постараемся добавить...

Для каждой точки вызова можно описать несколько запускаемых программ при помощи следующей формы:

В полях "Выражение" и  "Параметры" можно использовать ряд внутренних переменных программы программы LockWin в виде следующих макросов:

Если нужны будут еще какие-нибудь внутренние переменные или точки выполнения программ, то мы их постараемся добавить....


Пример сохранения "конфигов" пользователя на сервере

1) Точка "Разблокировка":
    Программа: XCopy.exe  
    Параметры: \\Server\Users\%username% d:\Games\CS\config.cfg
    Описание:  Копирует "конфиг" из расшаренного на сервере каталога \\Server\Users\ в каталог Counter Strike на этом компьютере. В качестве имени файла используется ник пользователя (%username%)

2)  Точка "Блокировка":
    Программа: XCopy.exe  
    Параметры: d:\Games\CS\config.cfg \\Server\Users\%username% 
    Описание:  Копирует "конфиг" из каталога Counter Strike в каталог на сервере \\Server\Users\


Пример включения и выключения доступа к интернету при помощи утилиты Windows ARP.exe

С помощью утилиты ARP.exe, которая есть в составе Windows, можно управлять таблицей соответствия IP-адресов MAC-адресам сетевых плат. Этот способ основан на отключении связи с компьютером, выполняющим функции шлюза в интернет.  Соответственно, у этого способа есть ограничение, состоящее в том, что данный компьютер (шлюз) должен использоваться клиентскими компьютерами только для  выхода в интернет и больше ни для каких других целей. То есть его нельзя использовать ни в качестве файл севера, ни как рабочее место администратора - ничего кроме выхода в интернет и подсчета интернет трафика. Но зато это может быть совсем не "могучий" компьютер и работать под управлением любой операционной системы. Более того, этот компьютер может находиться даже не у вас в клубе - а у вашего провайдера интернета :)
В этом примере: 192.168.0.100 - IP-адрес сетевой карточки компьютера-шлюза, 00-03-47-99-78-4f - MAC-адрес сетевой карточки компьютера-шлюза.

1) Точка "Включение интернета":
    Программа: Arp.exe  
    Параметры: -s  192.168.0.100  00-03-47-99-78-4f
    Описание:  Связывает с IP-адрес шлюза в интернет с MAC-адресом сетевой карточки компьютера-шлюза

2)  Точка "Отключение интернета": 
    Программа: Arp.exe  
    Параметры: -s  192.168.0.100  00-00-00-00-00-00
    Описание:  Связывает IP-адрес шлюза с несуществующим MAC-адресом сетевой карточки 

3)  Точка "Запуск программы":
    Программа: Restart.bat 
    Параметры: %inet%
    Описание:  В зависимости от состояния признака "Интернет включен" ( %inet%) включает или выключает связь с шлюзом.   

Командный файл Restart.bat должен содержать следующее:

if %1==1 then goto PuskTraf
Arp.exe -s 192.168.0.100 00-00-00-00-00-00
goto End
:PuskTraf
Arp.exe -s 192.168.0.100 00-03-47-99-78-4f
:End 

Для надежности, этот же Restart.bat можно запускать каждую минуту как в разблокированном так и в заблокированном состоянии компьютера.

Спасибо за идею этого способа управления Локтионову Алексею из московского клуба Another Worlds Club!