문제

Ironpython에 일부 테스트 스크립트를 작성하면 창이 표시되는지 여부를 확인하고 싶습니다. 메인 앱 프로세스의 PID가 있으며 PID와 관련된 창 제목 목록을 얻고 싶습니다.

FindWindowEx와 같은 Win32API 호출을 사용하지 않으려 고 노력했습니다. 내장 .NET 클래스를 사용하여이를 수행하는 방법이 있습니까? 내가 겪은 대부분의 물건은 아래와 같은 Win32api를 사용하는 것이 좋습니다.

.NET (C#) : 프로세스 핸들이나 PID 만있을 때 하위 창을 얻습니까?

업데이트 : 나는 내가하려는 일에 대한 작업을 찾았다. 아래에 답하십시오.

도움이 되었습니까?

해결책

아래 기사는 Ironpython에서 간접적으로 Win32api에 액세스하는 방법을 보여줍니다. CSHARPCODEPROVIDER COMPILEASSEMBLIESFROMSOURCE 메소드를 사용하여 제공된 C# 소스 코드 문자열에서 메모리에서 어셈블리를 컴파일합니다. Ironpython은 어셈블리를 가져올 수 있습니다.

Ironpython에서 C#을 동적으로 컴파일합니다

다른 팁

Ironpython 2.6에서 ctypes 모듈이 지원됩니다. 이 모듈은 C 호환 데이터 유형을 제공하며 DLL에서 호출 함수를 허용합니다. : 빠른 예 : 예 : : : : 예 : : 예 : : 예 : : 예 : : 예 : : 예 : 예 : : 예 : : 예 : 예 : : 예 : 예 : : 예 : 예 : : 예 : 예 : : 예 : 예 : : 예 : 예 : : 예 : 예 : : 예 : 예 : : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : 예 : : 예 : : 예 : : 예 : 예)

import ctypes
buffer = ctypes.create_string_buffer(100)
ctypes.windll.kernel32.GetWindowsDirectoryA(buffer, len(buffer))
print buffer.value

물에 들어 가지 않고 수영 할 수 있는지 묻는 것과 같습니다. Windows의 정보가 필요한 경우 유일한 옵션은 Win32api를 사용하는 것입니다. 그렇게하는 방법에 대한 많은 예가 있습니다.

이 답변이 마음에 들지 않으면 질문에 의견을 남겨 주시면이 답변을 제거하겠습니다. 따라서 귀하의 질문은 답변되지 않은 질문 목록에 남아 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top