在这里搜索代码段,我似乎无法理解这一点。我想我可能会搜索错误的关键字,或者我可能会问一些本来就很愚蠢的东西。我们来看看。
我正在使用基于VB的第三方自动化软件,它可以与应用程序交互(通常很好,在这种情况下是一个大型机应用程序)但是我最近遇到一个应用程序,当它启动应用程序时它也绑定到应用程序(我知道这是正常的)并且可以终止应用程序以从中分离。
当我想编写第二类代码与此应用程序进行交互时,我的问题就出现了。如果我们想象我的第一个类包含简单的基本方法,如启动/终止/发送键和从屏幕对象读取,第二个类我希望它包含我可以起诉我在应用程序中遇到的下一组屏幕的方法。我的问题是这个第三方自动化软件的GUI没有给我选择“附加”到正在运行的应用程序实例。所以现在我发现自己试图以一种方式来检测正在运行的进程并附加到我想要自动化的大型机应用程序的运行实例上。
到目前为止,我已经尝试了各种代码,但是我已经找到了这个,以便找到我正在寻找的正在运行的程序
Dim ps As System.Diagnostics.Process
For Each ps In System.Diagnostics.Process.GetProcessesByName(System.Net.Dns.GetHostName)
If ps.Equals("PROCESS NAME")
'bind to the process
ps.Bind
End If
Next ps
基本上这就是说,创建一个空的进程对象,然后遍历在本地计算机上运行的每个进程。如果你找到一个具有这个特定名称的人,那么继续做其他事情。最终错误的写入过程没有在外部部分找到代码,但我正在尝试做的是让这段运行的代码附加或绑定到正在运行的大型机进程。这样做的代码是什么?如果有人可以指出我的方式,我会做什么才能做到这一点我会弄清楚,直到我把它弄好并把它放回去。
到目前为止,我已经在MSDN Process类列表中查看了System.diagnostic.process
经历了所有方法,但没有任何事情让我感到束缚或附加机制。
我已经在这里看了一些关于SO的其他问题,但没有一个与我正在寻找的东西有关
Attach second exe to main process
not stack-O but still not what I wanted exactly, runtime binding article
MSDN 'how to bind to existing process'
此链接说明了如何绑定,但它说的是如何列出进程然后通过索引关闭进程,而不是我正在寻找的。 p>
我用谷歌搜索'如何附加到运行的应用程序vb'及其许多变体,包括bind / visual basic / existing等等,但没有结果,重要的是我不是在寻找如何将visual studio附加到进程。我没有使用visual studio我不需要知道如何将它附加到一个进程(这些搜索术语返回到最后的结果必须使用-studio -debugger来获得更好的结果)
我认为我对VB进程如何附加到应用程序有一个根本的误解,所以也许我编程这一切都错了,但任何反馈或指南都不值得欢迎。
干杯-DW