欢迎来到天天文库
浏览记录
ID:26349631
大小:51.50 KB
页数:4页
时间:2018-11-26
《windows 2000系统编程——进程的创建 》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Windows2000系统编程——进程的创建[摘要]文章通过CreateProcess创建进程命令函数原形、参数的详解,结合具体的实例从编写系统层次应用程序和用户应用程序的角度讲述了ATIONlpProcessInformation);2参数:lpApplicationName:指向一个以空结尾的串,他指定了要执行的模块lpmandLine:指向一个以空结尾的串,该串定义了要执行的命令行。lpProcessAttributes:指向一个SECURITY_ATTRIBUTES结构,该结构决定了返回的句柄是否可被子进程继承。lpThreadAttributes:指向一个SECURITY_ATTR
2、IBUTES结构,该结构决定了返回的句柄是否可被子进程继承。bInheritHandles,:表明新进程是否从调用进程继承句柄。dent:指向一个新进程的环境块。lpCurrentDirectory:指向一个以空结尾的串,该串定义了子进程的当前驱动器和当前目录。lpStartupInfo:指向一个STARTUPINFO结构,该结构定义了新进程的主窗口将如何显示。lpProcessInformation:指向PROCESS_INFORMATION结构,该结构接受关于新进程的表示信息。3返回值:若函数调用成功,则返回值不为0;若函数调用失败,返回值为0。ShellExecute和ASTER)运行
3、第二个程序(SLAVE),并进入睡眠。SLAVE程序从命令行读取源程序的进程ID(PID),并等待MASTER程序终止。程序清单MASTER程序#include#include#includevoidmain(intargc,char*argv[]){charcmd[128];if(argc!=1)strcpy(cmd,argv[1]);else strcpy(cmd,”slave.exe”);intpid=GetCurrentProcessId();sprintf(cmd+strlen(cmd),”%d”,pid);cout<<”Master:Starting:”<#i
4、ncludevoidmain(intargc,char*argv[]){if(argc!=2){cout<<”Slave:PleaserrunMASTER.EXEinstead.”;exit(1);}intpid=atoi(argv[1]);HANDLEprocess=OpenProcess(PROCESS_QUERY_INFORMATION
5、SYNCHRONIZE,FALSE,pid);if(!process)cot<<”Slave:Erroropeningprocess”;cout<<”Slave:asterpleted”;elsecout
6、<<”Slave:Unexpectederror”;exit(0);}
此文档下载收益归作者所有