繁体   English   中英

如何使用C#访问其他应用程序中的对象?

[英]How can I access objects in other applications with C#?

我想以类似于自动化工具在其“ UI Map”功能中访问它们的方式访问对象及其属性。 我假设有一个程序集引用,该引用将提供对正在运行的进程以及该进程存在的任何对象的访问。

具体来说,我需要在另一个正在运行的应用程序中访问一些标签控件文本属性。

另外,如果这是重复的操作,很抱歉-我环顾四周,但是我不确定哪些关键字会让我满意。

这不是C#中的常见做法。 您要查找的术语是“监视”另一个窗口/应用程序/进程。 在StackOverflow上有一些关于此的资源。 例如:

如何在C#应用程序中获得类似于Spy ++的功能?

要访问另一个Win32窗体中的控件,您需要查找该元素的句柄。

对于WPF应用程序,.NET 4.5中提供的UI自动化库使这种方式更简单: http : //msdn.microsoft.com/zh-cn/library/ms747327.aspx

对于较旧的winforms应用程序,您必须实际使用User32 API上的pInvoke。 Pete在对您的问题的评论中给您的示例链接将帮助您朝着这个方向发展: http : //www.pinvoke.net/default.aspx/user32.enumwindows

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM