2024年3月9日发(作者:)

WinCE中和Win32中

CreateProcess

在WinCE中,我们可以利用CreateProcess API函数来创建相应的进程,

该函数的原型如下:

BOOLCreateProcess(

LPCWSTRpszImageName,//指向可执行的文件名的指针

LPCWSTR pszCmdLine,//指向可执行命令行字符串的指针

LPSECURITY_ATTRIBUTES psaProcess,//指向进程安全属性的指针,CE不

支持

LPSECURITY_ATTRIBUTESpsaThread,//指向进程安全属性的指针,CE不支

BOOLfInheritHandles,//被创建的进程是否继承创建进程的句柄,CE不支

DWORDfdwCreate,//创建标志

LPVOID pvEnvironment,//指向新创建的环境块的指针,CE不支持

LPWSTRpszCurDir,//指向当前工作目录的指针,CE不支持

LPSTARTUPINFOWpsiStartInfo,//指向进程启动信息结构体的指针,CE不

支持

LPPROCESS_INFORMATIONpProcInfo//指向进程信息结构体的指针

);

在CE中,CreateProcess函数中的许多参数是不支持的,因此很多参数都

要被设置成NULL,所以实际上它可以被看成如下声明:

BOOL CreateProcess(

LPCWSTRpszImageName,

LPCWSTR pszCmdLine,

NULL,

NULL,

NULL,

DWORDfdwCreate,

NULL,

NULL,

NULL,

LPPROCESS_INFORMATIONpProcInfo);

该函数最重要的两个参数是pszImageName和pszCmdLine,参数

pszImageName表示可执行文件名,在CE中,必须要指定应用程序名,不能设

置成NULL。参数pszCmdLine用来被传送到新进程的命令行,在CE中,命令行

总是以Unicode字符串的形式进行传递,这也是CE和NT惟一的不同点,该参

数可以被设置为NULL,此时函数将使用参数pszImageName作为命令行。

如果pszImageName参数没有包括应用程序路径,那么CE将在以下目录中

按照如下顺序查找应用程序:

(1)如果存在路径,则在pszImageName中指定。