SHCREATEPROCESSINFOW 結構 (shellapi.h)
[SHCreateProcessAsUserW 不再在 Windows XP 或更新版本中實作。]
包含 SHCreateProcessAsUserW 建立進程所需的資訊。
語法
typedef struct _SHCREATEPROCESSINFOW {
DWORD cbSize;
ULONG fMask;
HWND hwnd;
LPCWSTR pszFile;
LPCWSTR pszParameters;
LPCWSTR pszCurrentDirectory;
HANDLE hUserToken;
LPSECURITY_ATTRIBUTES lpProcessAttributes;
LPSECURITY_ATTRIBUTES lpThreadAttributes;
BOOL bInheritHandles;
DWORD dwCreationFlags;
LPSTARTUPINFOW lpStartupInfo;
LPPROCESS_INFORMATION lpProcessInformation;
} SHCREATEPROCESSINFOW, *PSHCREATEPROCESSINFOW;
成員
cbSize
類型:DWORD
這個 結構的大小,以位元組為單位。
fMask
類型:ULONG
旗標陣列,表示其他結構成員的內容和有效性。 這可以是下列值的組合。
SEE_MASK_CLASSKEY
使用檔案的類別登錄機碼。
SEE_MASK_CLASSNAME
使用檔案的類別名稱。
SEE_MASK_CONNECTNETDRV
驗證共用並連線到驅動器號。 pszFile 成員是網路上檔案的 UNC 路徑。
SEE_MASK_DOENVSUBST
展開任何環境變數。
SEE_MASK_FLAG_DDEWAIT
等候 DDE 交談在傳回之前終止。
SEE_MASK_FLAG_NO_UI
如果發生錯誤,請勿顯示錯誤消息框。
SEE_MASK_HMONITOR
在多監視系統上指定監視器時,請使用此旗標。
SEE_MASK_NOCLOSEPROCESS
應用程式將會關閉進程。 如果
SEE_MASK_NO_CONSOLE
為新進程建立主控台,而不是讓它繼承父代的主控台。 它相當於搭配 CreateProcess使用 CREATE_NEW_CONSOLE 旗標。
SEE_MASK_UNICODE
表示 Unicode 應用程式。
hwnd
類型:HWND
父視窗句柄。
pszFile
類型:LPCWSTR
以 Null 終止的 Unicode 字串指標,指定
pszParameters
類型:LPCWSTR
包含應用程式參數之 Null 終止 Unicode 字串的指標。 參數必須以空格分隔。
pszCurrentDirectory
類型:LPCWSTR
包含目前目錄的 Null 終止 Unicode 字串。
hUserToken
類型:HANDLE
Access 令牌,可用來代表特定使用者。 當將資料夾視為屬於單一使用者時,需要有多個使用者。 呼叫端應用程式必須具有特定使用者的適當安全性許可權,包括TOKEN_QUERY和TOKEN_IMPERSONATE,而且目前必須掛接使用者的登錄區。 如需存取控制問題的進一步討論,請參閱 存取控制。
lpProcessAttributes
類型:LPSECURITY_ATTRIBUTES
具有新進程之安全性描述元之 SECURITY_ATTRIBUTES 結構的指標。 它也會指定是否可以繼承子進程。 如果此參數設定為 NULL,則進程會有預設的安全性描述元,而且無法繼承句柄。
安全性警告:使用安全性描述元不正確,可能會危害應用程式的安全性。 如需詳細資訊,請參閱 SECURITY_ATTRIBUTES。
lpThreadAttributes
類型:LPSECURITY_ATTRIBUTES
具有新線程之安全性描述元之 SECURITY_ATTRIBUTES 結構的指標。 它也會指定是否可以繼承子進程。 如果此參數設定為 NULL,則進程會有預設的安全性描述元,而且無法繼承句柄。
安全性警告:使用安全性描述元不正確,可能會危害應用程式的安全性。 如需詳細資訊,請參閱 SECURITY_ATTRIBUTES。
bInheritHandles
類型:BOOL
指出新進程是否繼承來自呼叫進程的句柄。 如果設定為 TRUE,則呼叫程式中每個可繼承的開啟句柄都會由新進程繼承。 繼承的句柄具有與原始句柄相同的值和訪問許可權。
dwCreationFlags
類型:DWORD
旗標,控制進程的建立和優先順序類別。 如需可用旗標的清單,請參閱 CreateProcessAsUser。
lpStartupInfo
類型:LPSTARTUPINFOW
STARTUPINFO 結構的指標,指定新進程的主視窗應該如何顯示。
lpProcessInformation
類型:LPPROCESS_INFORMATION
PROCESS_INFORMATION 結構的指標,可接收新進程的相關信息。 將此成員設定為有效的結構指標,並在 fMask 成員中設定SEE_MASK_NOCLOSEPROCESS旗標,而且當函式傳回時,程式會保持開啟狀態。 PROCESS_INFORMATION 結構的 hProcess 和 hThread 成員會分別保存進程和線程句柄。 將此成員設定為 NULL,而且會在函式傳回之前關閉進程。
言論
若要在 pszParameters中包含雙引號,您必須以一對引號括住每個標記,如下列範例所示:
sei.lpParameters = "An example: \"\"\"quoted text\"\"\"";
在此情況下,應用程式會收到三個參數:An、example:和 “quoted text”。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional、Windows XP [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
標頭 | shellapi.h |