2017-05-23 16 views
0

我正在使用Windows 7和c#来创建一个应用程序,以控制由我使用c#和.net创建的另一个GUI应用程序)。在这个应用程序中,我想获取GUI应用程序内某些控件的状态。我正在寻找一种方法来根据它的“Name”属性给我一个控件的句柄。但是找不到符合我需求的任何东西。我已经设法获得GUI应用程序中所有控件的句柄列表,但是如何使用正确的“名称”搜索该列表中的控件?我有朋友使用Control.FromHandle将句柄转换为Control对象,但这似乎不起作用,因为它为所有句柄返回null。有任何想法吗?如何根据Name属性找到控制

+1

当您尝试跨越流程边界执行此操作时,一切都会变得更加困难。如果这是你的应用程序,那么有一千个理由不这样做,或者使用受支持的.NET进程互操作机制,如命名管道,套接字,WCF。如果这不是您的应用程序,那么唯一合理的方法是UI自动化,由System.Windows.Automation命名空间支持。 –

回答

-1

MB帮助这个?: 的typeof([typeFromYourAssembly])。Assembly.GetTypes()。ToList()。单(ⅰ=> i.IsSubclassOf(typeof运算(用户控件))& & i.Name ==“[ ControlName]“)