저는 Windows 7 및 C#을 사용하여 C# 및 .net을 사용하여 만든 다른 GUI 응용 프로그램을 제어하는 응용 프로그램을 만듭니다. 이 응용 프로그램에서는 GUI 응용 프로그램 안에있는 특정 컨트롤의 상태를 가져오고 싶습니다. 나는 그것이 "이름"속성을 기반으로 컨트롤에 핸들을 제공하는 메소드를 찾고 있습니다. 그러나 내 필요에 맞는 것을 찾을 수 없습니다. GUI 응용 프로그램의 모든 컨트롤 핸들 목록을 가져 왔지만이 목록에서 올바른 "이름"이있는 컨트롤을 검색하려면 어떻게해야합니까? 나는 친구가 Control
객체를 사용하여 Control.FromHandle
을 사용하여 객체를 변환하지만, 모든 핸들에 대해 null
을 반환하기 때문에 작동하지 않는 것처럼 보입니다. 어떤 아이디어?Name 속성을 기반으로 컨트롤을 찾는 방법
0
A
답변
-1
메가이 을 대해서 typeof ([typeFromYourAssembly]) ?: 도와. Assembly.GetTypes을(). ToList(). 단일 (I => i.IsSubclassOf (대해서 typeof (UserControl에)) & &을 i.Name == "[ ControlName] ")
프로세스 경계를 넘어서이 작업을 시도하면 모든 것이 천천히 어려워집니다. 이것이 당신의 응용 프로그램이라면, 이것을하지 않는 천 가지 이유가 있거나 명명 된 파이프, 소켓, WCF와 같은 지원되는 .NET 프로세스 interop 메커니즘을 사용하십시오. 이것이 귀하의 응용 프로그램이 아니라면 유일한 합리적인 접근 방식은 System.Windows.Automation 네임 스페이스에서 지원하는 UI 자동화입니다. –