【发布时间】:2017-10-23 07:01:05
【问题描述】:
我正在使用 Windows 7 和 c# 来制作一个应用程序来控制另一个我使用 c# 和 .net 制作的 GUI 应用程序)。在这个应用程序中,我想获取 GUI 应用程序内某些控件的状态。我正在寻找一种方法来根据控件的“名称”属性为我提供控件的句柄。但是找不到任何适合我需要的东西。我已经设法获得了 GUI 应用程序中所有控件的句柄列表,但是如何在此列表中搜索具有正确“名称”的控件?我已经尝试使用Control.FromHandle 将句柄转换为Control 对象,但这似乎不起作用,因为它为所有句柄返回null。有什么想法吗?
【问题讨论】:
-
当您尝试跨流程边界执行此操作时,一切都会变得困难一千倍。如果这是您的应用程序,那么有上千个理由不这样做,或者使用受支持的 .NET 进程互操作机制,如命名管道、套接字、WCF。如果这不是您的应用程序,那么唯一合理的方法是 UI 自动化,由 System.Windows.Automation 命名空间支持。