다음을 통해 공유


SHCreateProcessAsUserW 함수(shellapi.h)

[SHCreateProcessAsUserW 는 Windows XP 이상 시스템에서 구현되지 않습니다.]

지정된 실행 파일을 실행하는 새 사용자 모드 프로세스 및 기본 스레드를 만듭니다.

구문

BOOL SHCreateProcessAsUserW(
  [in, out] PSHCREATEPROCESSINFOW pscpi
);

매개 변수

[in, out] pscpi

형식: PSHCREATEPROCESSINFOW

프로세스를 만드는 방법에 대한 정보가 포함된 SHCREATEPROCESSINFOW 구조체에 대한 포인터입니다.

반환 값

형식: BOOL

성공하면 TRUE 를 반환하고 그렇지 않으면 FALSE를 반환 합니다. 확장된 오류 정보를 검색하려면 GetLastError를 호출합니다.

설명

이 함수는 runas를 동사로 사용하는 ShellExecuteEx와 유사합니다. 그러나 SHCreateProcessAsUserWpscpi가 가리키는 구조체의 hUserToken 멤버가 나타내는 사용자의 보안 컨텍스트에서 실행되는 프로세스를 만듭니다. lpProcessInformation 멤버를 사용하여 새 프로세스에 대한 정보가 포함된 PROCESS_INFORMATION 구조를 반환할 수 있습니다.

실행 파일의 파일 형식에서 runas 동사를 지원해야 합니다. .exe 파일 형식은 runas를 지원합니다. AssocQueryString 함수를 사용하여 runas가 다른 파일 형식에서 지원되는지 여부를 검사. 다음 코드 조각에서는 구문을 보여 줍니다.

AssocQueryString(0, ASSOCSTR_COMMAND, pszFile, TEXT("runas"), NULL, &cchVerb)

셸을 사용하여 애플리케이션을 시작하는 방법에 대한 자세한 내용은 애플리케이션 시작을 참조하세요.

SHCreateProcessAsUserW 는 Windows XP에서 지원되지 않습니다. 유사한 기능이 필요한 사용자는 CreateProcess, CreateProcessAsUser, CreateProcessWithLogonWShellExecuteEx를 검사하여 필요한 기능 및 보안에 따라 각각을 신중하게 평가해야 합니다. 필요한 경우 IQueryAssociations 를 사용하여 CreateProcess에 사용되는 정보를 추출할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional, Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 shellapi.h
라이브러리 Shell32.lib
DLL Shell32.dll(버전 5.0 이상)

추가 정보

CreateProcess

CreateProcessAsUser

CreateProcessWithLogonW

ShellExecuteEx