2010-08-04 4 views
3

필자는 FindWindow를 사용하여 외부 응용 프로그램의 창에 대한 핸들을 얻었습니다. 최소화 된 경우 또는 Windows 바탕 화면의 다른 응용 프로그램 뒤에있는 경우이 핸들을 사용하여 외부 응용 프로그램의 창을 활성화 할 수 있습니까?외부 응용 프로그램의 창을 활성화하는 방법

답변

3

포커스 훔치기를 방지하기 위해 (또는 적어도 실수로 포커스를 훔치는 것을 방지하기 위해) Windows는 한 프로세스에 몇 가지 장애물을 추가하여 다른 프로세스의 창을 맨 위로 가져옵니다.

MSDN에서 SetForegroundWindow (특히 비고 절 참조) 및 AllowSetForegroundWindow을 확인하십시오.

프로세스에 메시지를 보내 자신의 창을 복원하라는 메시지를 보내거나 프로세스가 프로세스를 명시 적으로 허용하도록해야합니다.

+0

고마워, 바로 거기에 문제가있는 것 같습니다. – Eloff

0

FindWindow() 다음에 ShowWindow().

+0

ShowWindow와 BringWindowToTop을 성공시키지 않고 시도했으나 외부 프로세스의 창에서 작업합니까? – Eloff

+0

해당 창에 대한 핸들을 성공적으로 검색해야합니다. – karlphillip

관련 문제