Название | Версия | Размер | Цена |
SysTrayRunExe_1_0.rar | 180kb | - |
SysTrayRunExe
Резидентная утилита (встраивается в sysTray), она следит за каталогом запуска и ждет появления файла SysTrayRunExe.ini в котором будет команда для выполнения. Это может быть, например, bat файл. Для чего такой мудреный алгоритм выполнения?
Ситуация – есть удаленный рабочий стол (RDP), есть локальный компьютер. На локальном компьютере стоит программа c:\sc522\ LoadParam.exe для работы с терминалом банка (коробочка, куда прикладываем банковскую карту, или телефон с настроенным NFS). Программа LoadParam.exe для общения с терминалом использует com8. С локального компьютера все происходит гладко – слип чеки/общение с банком все хорошо. Но! 1с стоит на сервере и, чтобы пробить оплату по терминалу, надо запустить LoadParam.exe на сервере, чтобы он через механизм проброса портов передал в терминал команду. Но! По неизвестным причинам, проброс портов на с локального компьютера на сервер не возможен. Т.е передать на локальный компьютер, что произошла оплата и передать данные в терминал банка, мы не можем. Как быть?
С сервера доступен каталог локального компьютера \\tsclient\c\sc522. Мы могли бы создать bat в этом каталоге и, прописав в нем нужную команду и вывести на экран диалог, где попросили пользователя переключиться на локальный компьютер и запустить этот bat. Но это слишком мудрено для обыкновенного продавца. Вот если бы существовал механизм запуска bat файла с локального компьютера без участия пользователя, то мы бы пробили оплату на терминале! Для этого и служит SysTrayRunExe – он заменяет пользователя на локальном компьютере и запускает локальный файл на выполнение. Срабатывает все это, когда в каталоге запуска SysTrayRunExe.exe есть файл SysTrayRunExe.ini . программа считывает содержимое первой строки SysTrayRunExe.ini и отправляет ее на выполнение. После этого удаляет SysTrayRunExe.ini и снова ждет.
Пока не предполагаю, где еще может пригодиться подобный механизм – но сейчас он меня здорово выручил. Для пытливых умов выкладываю кусок алгоритма, как я запускаю сторонний EXE с сервера, на локальном компьютере. Создаю bat файл, перенаправлю его выполнение в текстовый и уже смотрю на появление этого текстового файла. Если он есть, то выполнение закончилось. В принципе можно анализировать ошибки выполнения, которые вернет LoadParam.exe
Диск="\\tsclient\c";
пароль на архив 1
---------------------------------------------
Название | Версия | Размер | Цена |
SysTrayRunExe_1_0.rar | 180kb | - |