C# 以编程方式从终端仿真器读取内容
我正在尝试自动化大型机中的一些操作。为此,我制作了一个C#程序,使用终端仿真器wc3270连接到大型机,并向其发送密钥 这部分很好用 我的问题是,我需要阅读终端模拟器屏幕上显示的内容,以便更好地决定将向其发送哪些键 我怎么做呢?我没有找到任何API可以让我这么做C# 以编程方式从终端仿真器读取内容,c#,automation,C#,Automation,我正在尝试自动化大型机中的一些操作。为此,我制作了一个C#程序,使用终端仿真器wc3270连接到大型机,并向其发送密钥 这部分很好用 我的问题是,我需要阅读终端模拟器屏幕上显示的内容,以便更好地决定将向其发送哪些键 我怎么做呢?我没有找到任何API可以让我这么做 谢谢。我建议使用IBM个人通信工具: 与C#EHLLAPI包装器一起,URL指向示例: 要查找仿真器的会话密钥,可以使用Windows Sysinternals中的handle.exe 我用于句柄的代码: public String
谢谢。我建议使用IBM个人通信工具: 与C#EHLLAPI包装器一起,URL指向示例: 要查找仿真器的会话密钥,可以使用Windows Sysinternals中的handle.exe 我用于句柄的代码:
public String getSessionKey(String pid)
{
Process p = new Process();
p.StartInfo = new ProcessStartInfo()
{
UseShellExecute = false,
CreateNoWindow = true,
WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden,
FileName = "cmd.exe",
Arguments = "/C C:\\handle.exe -a -p " + pid,
RedirectStandardError = true,
RedirectStandardOutput = true
};
p.Start();
String str = (p.StandardOutput.ReadToEnd());
String[] arr = str.Split('\n');
foreach (String s in arr)
{
if (s.Contains("Owned"))
{
return s.Substring(s.Length - 3, 1);
}
}
return "";
}
我建议使用IBM个人通信工具: 与C#EHLLAPI包装器一起,URL指向示例: 要查找仿真器的会话密钥,可以使用Windows Sysinternals中的handle.exe 我用于句柄的代码:
public String getSessionKey(String pid)
{
Process p = new Process();
p.StartInfo = new ProcessStartInfo()
{
UseShellExecute = false,
CreateNoWindow = true,
WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden,
FileName = "cmd.exe",
Arguments = "/C C:\\handle.exe -a -p " + pid,
RedirectStandardError = true,
RedirectStandardOutput = true
};
p.Start();
String str = (p.StandardOutput.ReadToEnd());
String[] arr = str.Split('\n');
foreach (String s in arr)
{
if (s.Contains("Owned"))
{
return s.Substring(s.Length - 3, 1);
}
}
return "";
}
您是如何向它发送数据,以便从中读取数据不会立即变得明显的?通常定义的操作是相反的。我使用的是Windows()中的SendKeys函数。如何向它发送数据,以便从中读取数据不会立即变得明显?通常定义的操作是相反的。