다음을 통해 공유


SwitchDesktop 함수(winuser.h)

지정된 데스크톱을 표시하고 활성화합니다. 이렇게 하면 데스크톱이 사용자로부터 입력을 받을 수 있습니다. SwitchDesktop 함수가 성공하려면 호출 프로세스에 데스크톱에 대한 DESKTOP_SWITCHDESKTOP 액세스 권한이 있어야 합니다.

구문

BOOL SwitchDesktop(
  [in] HDESK hDesktop
);

매개 변수

[in] hDesktop

바탕 화면에 대한 핸들입니다. 이 핸들은 CreateDesktopOpenDesktop 함수에서 반환됩니다.

이 데스크톱은 프로세스의 현재 창 스테이션과 연결되어야 합니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다. 그러나 SwitchDesktop 은 다음 경우에 대한 마지막 오류만 설정합니다.

  • 바탕 화면이 보이지 않는 창 스테이션에 속하는 경우
  • hDesktop이 잘못된 핸들이거나, 소멸된 데스크톱을 참조하거나, 호출 프로세스의 세션과 다른 세션에 속하는 경우

설명

데스크톱이 보이지 않는 창 스테이션에 속하는 경우 SwitchDesktop 함수가 실패합니다. 또한 SwitchDesktop은 WinLogon 및 ScreenSaver 데스크톱과 같은 보안 데스크톱과 연결된 프로세스에서 호출될 때 실패합니다. 보안 데스크톱과 연결된 프로세스에는 사용자 지정 UserInit 프로세스가 포함됩니다. 이러한 호출은 일반적으로 "액세스 거부" 오류로 실패합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll
API 세트 ext-ms-win-ntuser-windowstation-l1-1-0(Windows 8에 도입됨)

참고 항목

CreateDesktop

데스크톱

OpenDesktop

창 스테이션 및 데스크톱 함수