2

구성을 기반으로 화면의 세부 정보를 캡처하는 Windows 응용 프로그램이 있습니다. UI Automation을 사용하여 화면에서 세부 정보를 캡처합니다. Visual Studio가 설치된 개발자 컴퓨터에서 모든 것이 잘 작동합니다. .NET Framework 4.5 만 설치되어있는 다른 시스템에서 동일한 응용 프로그램을 실행하면 이상하게 작동하고 자식 요소를 감지 할 수 없습니다.UI 자동화에 대한 종속성이 있습니까?

제 질문은 Visual Studio 및 .NET Framework가 설치된 개발자의 컴퓨터에서 제대로 작동하는 이유입니다. 차이점이 뭐야? 우리가 전제 조건까지 놓친 것이 있습니까? UI 자동화 또는 누락 된 라이브러리의 종속성은 무엇입니까?

미리 감사드립니다. 제발 도와주세요.

답변

0

네이티브 UIAutomationCore.dll (예, 해당 코어가 .NET이 아닙니다) 주위의 .NET 래퍼에서 알려진 버그처럼 보입니다. WinVista +에도 포함되어 있습니다 (.NET Framework는 WinXP에도이 기능을 추가합니다).

여기에 C# example C#의 네이티브 COM API (UIAutomationCore.dll)를 사용하는 방법입니다. 그냥 여기에 코드를 복사 :

using System; 
using interop.UIAutomationCore; 

namespace PrintDesktopUiaElementNameViaCom 
{ 
    class PrintDesktopUiaElementNameViaComProgram 
    { 
     static void Main(string[] args) 
     { 
      // Instantiate the UIA object: 
      IUIAutomation _automation = new CUIAutomation(); 
      // Get the root element 
      IUIAutomationElement rootElement = _automation.GetRootElement(); 
      // Get its name 
      string rootName = rootElement.CurrentName; 
      Console.WriteLine(
       "The root automation element's name should be 'Desktop'."); 
      Console.WriteLine("The actual value is: '{0}'", rootName); 
     } 
    } 
} 
0

그래에서 마지막 날의 읽기를 수행 한 후, 내가 솔루션 데르 비주얼 스튜디오에 종속 없다는 것입니다 알게되었습니다.

이 문제는 응용 프로그램에 대한 권한이 부족하기 때문에 발생합니다. 그래서이 문제를 극복하기 위해 우리는 우리의 응용 프로그램과 매우 중요한 것은 프로그램 파일에서 실행 파일을 배치

참조 링크입니다 한 가지 더 서명 가야 : https://msdn.microsoft.com/en-us/library/windows/desktop/ee671610(v=vs.85).aspx