我问这个问题主要是出于好奇心。
使用testcomplete时,我注意到我可以将脚本指向任意运行的.NET应用程序,获取一个控件,对其进行反射,甚至对其调用方法。我不知道他们是怎么做到的。据我所知,这不是简单的uiautomation,因为我可以获取私有字段。另外,这不是远程处理,因为应用程序没有额外的钩子。
我如何才能在另一个进程上运行另一个.NET对象并调用它?
这是一种代码注入的形式。
一旦你被注入做一些有侵入性的事情,比如抓取私有变量等等,使用.NET就简单多了,因为内省方面已经为你内置了,你可以使用。
这个 code project article shows you how to do it