CreateProcess

此頁沒有內(nèi)容條目
內(nèi)容

CreateProcess

VB聲明

Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpApplicationName As String, ByVal lpCommandLine As String, lpProcessAttributes As SECURITY_ATTRIBUTES, lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, lpEnvironment As Any, ByVal lpCurrentDriectory As String, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long

說明

創(chuàng)建一個新進程(比如執(zhí)行一個程序)

返回值

Long,非零表示成功,零表示失敗。會設置GetLastError

參數(shù)表

參數(shù)

類型及說明

lpApplicationName

String,要執(zhí)行的應用程序的名字??稍O為vbNullString;在這種情況下,應用程序的名字應在lpCommandLine參數(shù)的起始處出現(xiàn)

lpCommandLine

String,要執(zhí)行的命令行??捎肎etCommandLine函數(shù)取得一個進程使用的命令行。Windows會盡可能地根據(jù)下述搜索順序來查找執(zhí)行文件:

 (1)包含了父進程執(zhí)行文件的目錄

 (2)父進程當前的目錄

 (3)由GetSystemDirectory返回的系統(tǒng)目錄

 (4)僅適于windows NT:16位系統(tǒng)目錄

 (5)由GetWindowDirectory返回的Windows目錄

 (6)由PATH環(huán)境變量指定的目錄

lpProcessAttributes

SECURITY_ATTRIBUTES,指定一個SECURITY_ATTRIBUTES結(jié)構(gòu),或傳遞零值(將參數(shù)聲明為ByVal As Long,并傳遞零值)——表示采用不允許繼承的默認描述符。該參數(shù)定義了進程的安全特性

lpThreadAttributes

SECURITY_ATTRIBUTES,指定一個SECURITY_ATTRIBUTES結(jié)構(gòu),或傳遞零值(將參數(shù)聲明為ByVal As Long,并傳遞零值)——表示采用不允許繼承的默認描述符。該參數(shù)定義了進程之主線程的安全特性

bInheritHandles

Long,TRUE表示允許當前進程中的所有句柄都由新建的子進程繼承

dwCreationFlags

Long,來自API32.TXT文件的一個或多個下述常數(shù)之一,它們都帶有前綴CREATE_。下面這些用于VB程序員:

CREATE_SEPARATE_WOW_VDM(僅適用于NT)

啟動一個16位的Windows應用程序時,強迫它在自己的內(nèi)存空間運行

CREATE_SHARED_WOW_VDM(僅適用于NT)

啟動一個16位的Windows應用程序時,強迫它在共享的16位虛擬機(VM)內(nèi)運行

CREATE_SUSPENDED

立即掛起新進程。除非調(diào)用了ResumeThread函數(shù)函數(shù),否則它不會恢復運行

也可能是下述常數(shù)之一,用于指定優(yōu)先級

IDLE_PRIORITY_CLASS

新進程應該有非常低的優(yōu)先級——只有在系統(tǒng)空閑的時候才能運行?;局凳?

HIGH_PRIORITY_CLASS

新進程有非常高的優(yōu)先級,它優(yōu)先于大多數(shù)應用程序?;局凳?3。注意盡量避免采用這個優(yōu)先級

NORMAL_PRIORITY_CLASS

標準優(yōu)先級。如進程位于前臺,則基本值是9;如在后臺,則優(yōu)先值是7

不要在VB中使用REALTIME_PRIORITY_CLASS

lpEnvironment

Any,指向一個環(huán)境塊的指針(環(huán)境緩沖區(qū)的頭一個字符,或者環(huán)境塊的地址)

lpCurrentDriectory

String,新進程的當前目錄路徑。調(diào)用函數(shù)的時候,可用vbNullString指定當前目錄

lpStartupInfo

STARTUPINFO,指定一個STARTUPINFO結(jié)構(gòu),其中包含了創(chuàng)建進程時使用的附加信息

lpProcessInformation

PROCESS_INFORMATION,該結(jié)構(gòu)用于容納新進程的進程和線程標識符。大多數(shù)情況下,一旦這個函數(shù)返回,父應用程序都會關(guān)閉兩個句柄。

Top