共用方式為


SHCreateProcessAsUserW 函式 (shellapi.h)

[SHCreateProcessAsUserW 未在 Windows XP 或更新版本系統下實作。]

建立新的使用者模式進程及其主要線程,以執行指定的可執行檔。

語法

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

參數

[in, out] pscpi

類型: PSHCREATEPROCESSINFOW

SHCREATEPROCESSINFOW 結構的指標,其中包含如何建立進程的資訊。

傳回值

類型: BOOL

如果成功,則傳回 TRUE ,否則傳回 FALSE 。 若要擷取擴充的錯誤資訊,請呼叫 GetLastError

備註

此函式類似於 ShellExecuteEx 搭配 runas 做為動詞。 不過,SHCreateProcessAsUserW 會建立在 pscpi 所指向結構之 hUserToken 成員所代表使用者的安全性內容中執行的進程。 lpProcessInformation 成員可用來傳回具有新進程資訊的PROCESS_INFORMATION結構。

可執行檔的檔類型必須支援 runas 動詞。 .exe 檔類型支援 runas。 使用 AssocQueryString 函式來檢查其他文件類型是否支援 runas 。 下列代碼段說明語法。

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

如需如何使用Shell啟動應用程式的討論,請參閱 啟動應用程式

Windows XP 不支援 SHCreateProcessAsUserW。 需要類似功能的使用者應該檢查 CreateProcessCreateProcessAsUserCreateProcessWithLogonWShellExecuteEx,仔細評估每個專案,根據必要的功能和安全性。 如有必要,IQueryAssociations 可用來擷取與 CreateProcess 搭配使用的資訊。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional、Windows XP [僅限桌面應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 shellapi.h
程式庫 Shell32.lib
Dll Shell32.dll (5.0 版或更新版本)

另請參閱

CreateProcess

CreateProcessAsUser

CreateProcessWithLogonW

ShellExecuteEx