>source

2 개의 프로젝트가있는 솔루션이 있습니다. 첫 번째는 실행 파일이고 두 번째는 실행 가능한 프로젝트에로드되는 정적 라이브러리입니다. 필요한 (원하는) 코드는 정적 라이브러리에 배치해야합니다. WinRT/C ++ API를 지원하려면 XAML- 레이아웃을 사용하여 설명 된 창을로드하고 표시해야합니다.

Win32 프로젝트에서 많은 예 가 있습니다. UWP의 항목이지만 이것이 필요한 것은 아닙니다. 또한 XAML-Islands 기술 (이것이라고도 함)에는 최신 버전의 Windows 10 (1903)이 필요합니다.

또한 필요한 것을 수행하는 것처럼 보이는 몇 가지 예를 찾았지만 실행 가능한 스레드의 문제로 인해 (내가 이해 한 바와 같이) 정적 라이브러리에서 코드를 실행할 수 없습니다. https://youtu.be/eHCDTsQrTX8

따라서 스레드의 무결성을 위반하지 않고 Win32의 정적 라이브러리 내에서 XAML 창을로드하고 호출하는 방법에 대해 도움을 요청합니다. 감사합니다.

  • 답변 # 1

    Windows 10 1903부터 프로세스는 Win32 프로세스 또는 UWP 프로세스입니다. Win32 프로세스는 Win32 창 (HWND)을 만들 수 있지만 UWP 창 (CoreWindow)은 만들 수 없습니다. UWP 프로세스의 경우 다른 방법입니다. 따라서 Win32 프로세스가 CoreWindow를 직접 만들 수있는 방법은 없습니다.

    옵션은 (1) Win32 창을 만들고 XAML Islands를 사용하여 XAML UI를 호스팅하거나 (2) Desktop Bridge를 사용하여 Win32 앱을 UWP 앱과 번들로 묶어 최종 사용자에게 다음과 같이 표시하는 것입니다. 하나의 결합 된 앱;그런 다음 프로세스 간 통신을 사용하여 UWP 앱이 Win32 앱에 HWND를 만들도록하거나 Win32 앱이 UWP 앱에 CoreWindow를 만들도록 할 수 있습니다.

  • 이전 python - valueerror - 기본 10 인 int ()에 유효하지 않은 리터럴 : ''항목을 정수로 변환
  • 다음 jquery - 여러 결과로 변수를 반복