7.7 Запуск приложений

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем mazza, 18 окт 2010.

  1. TopicStarter Overlay
    mazza
    Offline

    mazza Опытный в 1С

    Регистрация:
    4 фев 2009
    Сообщения:
    138
    Симпатии:
    0
    Баллы:
    26
    При выполнении процедуры Сформировать() вылетает окно программы EasyVPN выполняется команда ENTER и программа закрывается. А можно выполнить процедуру без появления окна программы EasyVPN как бы в фоновом режиме?
    Код:
    Процедура Сформировать()
    
    ЗапуститьПриложение("C:\Program Files\COMODO\EasyVPN\EasyVPN.exe"); 
    
    WSHShell = СоздатьОбъект("WScript.Shell");
    //Нажимаем ENTER
    WSHShell.SendKeys("{ENTER}");
    //Закрываем прогу Alt+F4
    WshShell.SendKeys("%{F4}");	
    
    
    КонецПроцедуры
    
  2. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Нужно смотреть возможности программы "EasyVPN.exe". Возможно она поддерживает параметры командной строки. Но к 1С это отношения не имеет.
  3. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Запускайте приложение через тот же WScript.Shell используя метод Run
  4. TopicStarter Overlay
    mazza
    Offline

    mazza Опытный в 1С

    Регистрация:
    4 фев 2009
    Сообщения:
    138
    Симпатии:
    0
    Баллы:
    26
    А примерчика нет? В интернете мало информации нашел.
  5. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104

    Run(<?>);


    Синтаксис:
    Run(<Команда>,<ТипОкна>,<ЖдатьВозврата>);
    Назначение:
    Выполняет команду. Основным достоинством является наличие ожидания окончания работы выполняемой команды.
    Параметры:
    <Команда> - выполняемая команда. Задается в формате DOS и длинные имена не поддерживает.
    <ТипОкна> - число, в котором указывается вариант показа окна, запускаемого приложения. Не обязателен. Возможные значения:
    0 - Скрывает окно и активирует другое;
    1 - Активизирует и показывает окно. Если окно минимизировано или максимизировано, система восстанавливает его к оригинальному размеру и положению. Используется при первом открытии окна программы.
    2 - Активизирует окно в свернутом режиме.
    3 - Активизирует окно и разворачивает на весь экран.
    4 - Показывает окно в его новом размере и положении. Активным остается текущее окно.
    5 - Активизирует окно и показывает его в текущем размере.
    6 - Минимизирует окно и активизирует следующее на панеле задач.
    7 - Показывает окно как минимизированное. Активное окно остается активным.
    8 - Показывает окно в его текущем состоянии. Активное окно остается активным.
    9 - Активизирует и показывает окно. Если окно минимизировано или максимизировано, система восстанавливает его к оригинальному размеру и положению. Используется для восстановления минимизированного окна.
    10 - показывает окно в том-же состоянии, что и окно вызывающей программы.
    <ЖдатьВозврата> - флаг ожидания завершения процесса. Возможные значения: 0 - не ждать окончания выполнения команды; -1 - ждать окончания выполнения команды. Не обязателен. По умолчанию 0.
    Замечание:
    Запускать можно как приложение, так и любую команду (аналогично Пуск->Выполнить).
    Пример:

    Код:
    WshShell = CreateObject(''WScript.Shell'');
    WshShell.Run("notepad",7,-1);
    
    
    
  6. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Хм... Вот интересно, а как в свернутом приложении отработается нажатие Enter? Автор - отпишись
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    В данном случае юзаем команду Exec, т.к. он возвращает объект WshScriptExec к которому в свою очередь можно применить SendKeys
  8. TopicStarter Overlay
    mazza
    Offline

    mazza Опытный в 1С

    Регистрация:
    4 фев 2009
    Сообщения:
    138
    Симпатии:
    0
    Баллы:
    26
    C блокнотом работает. А с EasyVPN.exe при любом значении <ТипОкна> разворачивает программу поверх всех остальных программ.
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    В каком режиме пробуете?
  10. TopicStarter Overlay
    mazza
    Offline

    mazza Опытный в 1С

    Регистрация:
    4 фев 2009
    Сообщения:
    138
    Симпатии:
    0
    Баллы:
    26
    В смысле, в каком режиме? Вот код.
    Код:
    Процедура Сформировать()
    
    
    WshShell = CreateObject("WScript.Shell");
    WshShell.Run("EasyVPN",7,0);  
    
    
    КонецПроцедуры
    
    
  11. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    программа графическая или текст?
  12. TopicStarter Overlay
    mazza
    Offline

    mazza Опытный в 1С

    Регистрация:
    4 фев 2009
    Сообщения:
    138
    Симпатии:
    0
    Баллы:
    26
    Comodo EasyVPN - программа, позволяющая создать виртуальную защищенную одноранговую сеть, работающую через интернет, и подключить к ней компьютеры вне зависимости от того, где они размещены.
  13. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Допускаю что прога сама опредеряет состояние окна и восстанавливает его. Попробуйте ее запуск через CMD (это окно свернуть - врдуг обануть получиться) или попробуйте метод Exec

Поделиться этой страницей