【发布时间】:2023-03-12 09:30:01
【问题描述】:
我正在尝试构建一个在 IBM i (AS400) 上运行的应用程序。到目前为止,我可以让应用程序打开并登录,但我正在寻找一个动态解决方案,而不是使用静态发送密钥
Imports System.Threading
Public Class Form1
Dim a As New Process
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
a.StartInfo.FileName = "C:\Program Files\reflection\default scripts\as400.rsf"
a.Start()
Thread.Sleep(3000)
SendKeys.SendWait("UserID {TAB}")
Thread.Sleep(1000)
SendKeys.SendWait("Password {Enter}")
End Sub
End Class
我可以运行一个宏,它会显示一个输入密码的弹出框
Sub Macro1()
'
' Generated by the Reflection Macro Recorder on 03-18-2015 13:03:31.50
' Generated by Reflection for IBM for Windows 8.00
'
With Session
Dim hostpassword As String
.WaitForEvent rcEnterPos, "30", "0", 6, 53
.WaitForDisplayString ".", "30", 6, 49
.TransmitANSI "USERID"
.TransmitTerminalKey rcIBMTabKey
hostpassword = "PASSWORD"
.TransmitANSI hostpassword
.TransmitTerminalKey rcIBMEnterKey
End With
End Sub
我不能只是将它复制并粘贴到 Visual Studio 中并让它以这种方式工作。所以我的问题是如何让文本框将输入的内容注入外部应用程序的命令行?我已经进行了大量的研究,但是我发现的大多数内容都不适用于我正在尝试的内容,因为我发现的每个教程都主要针对 MS Office,Excel。有人可以指出我正确的方向吗?
【问题讨论】:
标签: visual-studio ibm-midrange sendkeys inputbox