一.Windows是一个多任务的操作系统,进程是操作系统进行管理的基本单元,进程本身只是一个容器,里边包含程序的可执行代码,数据,资源等信息;进程有自己的ID标识,和相应的安全属性,每个进程都有自己的独立的地址空间,其他进程是无法访问的,每一个创建好的进程至少包含一个线程.也就是这个进程的主线程.
在Windows上创建进程的几种方式:
WinExec - 早期16位 函数原型UINT WinExec( LPCSTR lpCmdLine, UINT uCmdShow );
第一个参数是可执行exe文件的路径,第二参数是以何种方式来显示,如是否显示窗口,或者隐藏等;
直接使用API函数创建:函数原型 BOOL CreateProcess(
LPCTSTR lpApplicationName, //应用程序名称
LPTSTR lpCommandLine, //命令行参数
LPSECURITY_ATTRIBUTES lpProcessAttributes, //进程安全属性 SD
LPSECURITY_ATTRIBUTES lpThreadAttributes, //线程安全属性 SD
BOOL bInheritHandles, //进程的句柄继承
DWORD dwCreationFlags, //创建方式
LPVOID lpEnvironment, //环境信息
LPCTSTR lpCurrentDirectory,//当前目录
LPSTARTUPINFO lpStartupInfo, //起始信息
LPPROCESS_INFORMATION lpProcessInformation //返回进程和线程的句柄ID
);
退出进程 ExitProcess(UINT uExitCode); 用来退出调用该函数的进程,参数 :退出码
终止进程TerminateProcess(HANDLE hProcess,UINT uExitCode) 这个函数用来终止指定的进程,第一参数进程的句柄,第二个参数退出码
打开一个进程:OpenProcess(DWORD dwDesiredAccess,BOOL bInheritHandle,DWORD dwProcessId); 参数说明:权限标识,是否继承,要打开的进程ID,返回进程句柄;