2009-12-11 3 views
0

나는 this question을 보았지만 CreateProcessAsUser은 사용하지 않기를 바랬습니다. EnumDesktopWindows을 호출하여 창을 열거 할 수 있으며 EnumDesktops을 호출하여 데스크톱을 가져올 수 있습니다. 불행히도 EnumDesktops은 창 스테이션 이름이 필요하고 WTSQuerySessionInformationWTSWinStationNameexplicitly does not이며 창 스테이션 이름을 반환합니다.서비스와 다른 세션에서 열린 윈도우를 어떻게 열거합니까?

제 질문은 다음과 같습니다. WTS 세션을 위해 Window Station을 어떻게 유지합니까?

답변

1

EnumWindowStations을 사용할 수 있습니다. 자세한 내용은 Sessions, Window Stations, and Desktops에 쓴이 블로그 게시물을 참조하십시오.

+0

오래되었지만 항상 "WinSta0"을 반환한다는 것을 기억합니다. 특정 세션에 대해 창 스테이션 *을 어떻게 찾을 수 있습니까? 또는 : EnumDesktop에 * 세션 *을 어떻게 전달합니까? –

+0

특정 세션 내에서 프로세스를 시작한 다음 해당 API를 사용할 수 있습니다. –

+0

"...하지만 CreateProcessAsUser를 사용하지 않기를 바랬습니다 ...". 불행히도, 그게 결국 내가 한 일이야. –