2008-08-30 3 views
3

PInvoke를 사용하지 않고 .net에서 어떤 창이 열려 있는지 확인할 수있는 방법이 있습니까? 이는 메모리에서 실행중인 응용 프로그램을 묻는 것과 약간 다릅니다. 예를 들어, Firefox가 실행 중일 수 있지만 둘 이상의 창일 수 있습니다. 기본적으로 작업 표시 줄 (및 alt-tab?)과 동일한 정보를 알려주고 싶습니다.현재 창 목록을 가져와 그 중 하나에 .Net의 포커스를 지정하십시오.

또한, 일단 창에 대한 참조가 있으면 프로그래밍 방식으로 초점을 맞출 수있는 방법이 있습니까?

관리되는 코드로이를 수행 할 수있는 방법이 있습니까?

답변

0

나는 PInvoke없이 할 수있는 방법이 없습니다. 일부 창에 초점을 맞추려면 SetForegroundWindow 함수를 호출해야합니다 (자세한 내용은 this 문서 참조).

1

.NET 3.5에서 새로운 UI Automation 항목을 확인할 수 있습니다. 그것은 PInovke의 모든 것을 숨기고 웹 및 WPF 응용 프로그램과 함께 작동합니다.

아직 사용하지 않았기 때문에 좀 더 구체적인 장소가 없지만 법안에 적합 할 수 있습니다.

1

이 LGPL 프로젝트를 확인하십시오. 나는 그것이 전경을 창으로 설정할 수 있다는 것을 안다. 그렇지 않으면 aku가 정확합니다. 대부분의 핀볼 호출이 필요할 것입니다.

http://mwinapi.sourceforge.net/

당신은 PInvoke를 사용에 대한 정보가 필요한 경우 : 내 아이언 루비 응용 프로그램에 대한 http://mwinapi.sourceforge.net이 대단히 유용하다고

http://www.pinvoke.net/

+0

합니다. – NoonKnight

관련 문제