在 C# 中屏幕抓取大型机屏幕*无需*第 3 方实用程序
我希望在 C# 中屏幕抓取 3270 大型机应用程序,但我必须在没有 Attachmate 或其他第 3 方插件的情况下执行此操作。是否有免费的托管库可以在 C# 中执行此操作?
I'm looking to screen scrape a 3270 mainframe application in C#, but I've got to do so without Attachmate or other 3rd party plugins. Are there free managed libraries to do so in C#?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
http://www.elink.ibmlink.ibm.com/publications/servlet/pbi.wss?CTY=US&FNC=SRX&PBL=GA23-0059-07
这是您要查找的文档,如果您计划自己完成所有繁重的工作。它打印效果不佳,但它是协议信息的最佳来源。
我自己即将走上这条路(感谢联邦政府),我打算在不到两周的时间内完成申请。我不想这样做,但我的参数表明我也不使用任何第三方应用程序。我的也将使用 C# 语言。
如果您想要我的来源,我会邀请您给我发电子邮件,但我必须警告您,我不会免费提供它。我知道你正在寻找免费的。
http://www.elink.ibmlink.ibm.com/publications/servlet/pbi.wss?CTY=US&FNC=SRX&PBL=GA23-0059-07
This is the document you are looking for if you plan on doing all of the heavy lifting yourself. It doesn't print out well but is the best source of information on the protocol.
I am about to embark on this road myself (thanks to the federal government) and in less than two weeks I intend to have a completed application. I don't want to do it, but my parameters state I do not use any third party applications as well. Mine will be in C# as well.
I would invite you to email me if you'd like my source, but I must warn you, I will not give it away for free. I know you are looking for free.
我将在这里根据两个假设进行操作。
尝试编写自己的 OCR 内容毫无意义,任何其他从大型机应用程序中获取数据的方法充其量也只会出现错误。如果我是您,我会编写一个 C# 应用程序来抓取屏幕截图并将其发送到 Web 服务。 Web 服务使用第 3 方实用程序来屏幕抓取屏幕截图,并将适当的数据发送回应用程序。
I'm going to operate under two assumptions here.
It makes zero sense to try to write your own OCR stuff and any other approaches to grabbing data off a mainframe app are going to be buggy at best. If I were you, I would write a C# app that grabs a screen shot and sends it to a web service. The web service uses a 3rd party utility to screen scrape the screen shot and sends back the appropriate data to the application.
屏幕抓取是一个术语,用于通过屏幕位置从控制台抓取字符的应用程序,并且隐含地暗示您已经有一个用于显示屏幕的终端模拟器,大多数(全部?)这些终端模拟器都会有一个 API 允许您在没有任何额外的第三部分组件的情况下执行此操作(通常通过 COM 或直接 DLL 调用)
但是,如果您正在谈论自己模拟终端......终端
模拟中有大量工作,它比简单地使用工具更容易花费你更多的精力,但是如果你下定决心要使用 owm,那么有很多开源实现,你可以获取源代码并了解它们的实现 PuTTY 现在可能几乎是事实上的标准。 (我不知道它是用什么写的,我怀疑是 C/C++,但如果你理解它的概念,移植到 C# 就很容易了,PuTTY 确实支持 3270)
Screen Scraping is a term that is used for apps that grab characters from a console by screen location, and implicitely implies that you already have a Terminal Emulator that you are using to display the screens, most (all?) of those terminal emulators will have an API to allow you to do that without any additional 3rd part components (usually via COM or straight DLL's calls)
However if you are talking about also Emulating the Terminal yourself....
There is a huge amount of work in Terminal Emulation, it would easily cost you more in effort than simply using a tool, but if you are dead set in rolling your owm, there are a lot of open source implementations that you could grab the source to and grok at their implementation PuTTY is probably nowdays almost a defacto standard. (I don't know what it's written in I suspect C/C++, but if you understand the concepts of it would be easy enough to port to C#, PuTTY does suport 3270)
哇,以前我们使用 SNA Server 来完成这样的事情。要完成围绕协议的所有跳跃和障碍,您可以利用 BizTalk Host Integration Server 2009 来完成此类任务。有一个已失效的 CodePlex 项目:
http://www.codeplex.com/Open3270
http://www.open3270.net/
但三年来它毫无进展。
您可能得到的关闭结果是这样的:
http://www.codeproject.com/KB/ cs/all_ehllapi.aspx
Wow, back in the days we used SNA Server for stuff like this. To do all the jumps and hurdles around protocols you could leverage BizTalk Host Integration Server 2009 for this type of stuff. There is a defunt CodePlex project:
http://www.codeplex.com/Open3270
http://www.open3270.net/
But it's gone nowhere in 3 years.
The closes you may get is this:
http://www.codeproject.com/KB/cs/all_ehllapi.aspx