Как автоматизировать приложение мэйнфрейма с помощью Java

1

Я знаю, что этот вопрос задают много раз. Но я не получил то, что хочу. Мне нужно автоматизировать quick3270, который используется для подключения к мэйнфрейму с использованием java. Сначала позвольте мне рассказать вам, что я хочу. Мне нужен мой код для открытия quick3270.exe, затем откройте сохраненную сессию: ---this. Теперь мне нужно отправить команды на quick3270. Вот и проблема: я не знаю, как отправить команду на это программное обеспечение. В-третьих, я использую класс робота. Так что я могу ввести: TAB, ENTER, F3 и т.д. Входы.

Итак, все дело в том, что я хочу отправить команды на quick3270. Мне также нужен интервал. Посылайте одну команду, затем задержка в 1 секунду, затем другую и так далее.

public static void main(String[] args) throws IOException, AWTException { 

    String exeloc = "C:\\Program Files\\Quick3270\\Quick3270.exe "; 

    // my saved session
    String directory = "C:\\Users\\c111128\\Desktop\\Project\\xyz.ecf";

    ProcessBuilder builder = new ProcessBuilder(new String[] { exeloc, directory });

    // Starting the process
    Process p = builder.start();

    // For handling keyboard events 
    Robot robot = new Robot();

    try {
        robot.delay(2000); 

        // Passing enter key to top screen
        robot.keyPress(KeyEvent.VK_ENTER);
        robot.delay(4000);            
        // Here I want to write the command
        //Command like:"teleview" which is used in mainframe



        robot.delay(1000);
    }

    catch (Exception e) {
        System.out.println("Second:" + e);
        e.printStackTrace();
    }
}
  • 1
    возможный дубликат преобразования строки в ключевые события
  • 0
    Нет, это не дубликат ... Я хочу отправить ключевые события (которые я могу сделать с помощью класса роботов) и мэйнфреймы, которые я не могу сделать. Так что, мне нужна помощь с этим.
Показать ещё 5 комментариев
Теги:
processbuilder

1 ответ

1

вы справились с проблемой? Через VBA вы можете отправлять команды Quick3270 следующим образом:

Set Session = .ActiveSession
Set Screen = Session.Screen
Screen.SendKeys ("<Enter>")
Result = Screen.WaitForKbdUnlock
Screen.SendKeys ("<PF12>")
Screen.SendKeys ("<Enter>")
Result = Screen.WaitForKbdUnlock
Screen.SendKeys ("<PF12>")
Result = Screen.WaitForKbdUnlock
Result = Screen.WaitForCursor(4, 15)
QuickPutstring "1", 10, 2

Private Function QuickPutstring(ByVal PutstringText As String, Row As Long, Col As Long)
    Screen.MoveTo Row, Col
    Screen.Putstring PutstringText
End Function

Надеюсь, это поможет...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню