标签:des style blog http color 使用
BOOL CreateProcess ( LPCTSTRlpApplicationName, LPTSTRlpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes。 LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCTSTR lpCurrentDirectory, LPSTARTUPINFO lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation );
p s z A p p l i c a t i o n N a m e和p s z C o m m a n d L i n e参数分别用于设定新进程将要使用的可执行文件的
名字和传递给新进程的命令行字符串。
若要创建一个新进程,系统必须创建一个进程内核对象和一个线程内核对象(用于进程的
主线程),由于这些都是内核对象,因此父进程可以得到机会将安全属性与这两个对象关联起
来
f d w C r e a t e参数用于标识标志,以便用于规定如何来创建新进程。
p v E n v i r o n m e n t参数用于指向包含新进程将要使用的环境字符串的内存块。
p s z C u r D i r参数允许父进程设置子进程的当前驱动器和目录。
p s i S t a r t I n f o参数用于指向一个S TA RT U P I N F O结构:
p p i P r o c I n f o参数用于指向你必须指定的P R O C E S S I N F O R M AT I O N结构。C r e a t e P r o c e s s在
返回之前要对该结构的成员进行初始化。
小例子:
功能:打开我桌面的一个exe引用程序
#include<Windows.h> #include <iostream> #include<iostream> int main() { LPSTR szCmdLine="C:\\Users\\Lenovo\\Desktop\\mtail.exe"; STARTUPINFO si={sizeof(si)}; PROCESS_INFORMATION pi; si.wShowWindow=TRUE; si.dwFlags=STARTF_USESHOWWINDOW; BOOL ret=::CreateProcessA( NULL, szCmdLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi); //释放句柄,否则新进程将无法退出 if(ret) { ::CloseHandle(pi.hProcess); ::CloseHandle(pi.hThread); std::cout<<"新进程的id:"<<pi.dwProcessId<<std::endl <<"Thread id:"<<pi.dwThreadId<<std::endl; } system("pause"); return 0; }
CreateProcess 函数,码迷,mamicode.com
标签:des style blog http color 使用
原文地址:http://blog.csdn.net/u010236550/article/details/24669343