经济论文 | 管理论文 | 法学论文 | 理学论文 | 工学论文 | 计算机论文 | 医药论文 | 文学论文 | 教育论文 | 艺术论文 | 哲学论文 | 文化论文 | 政治论文 | 英语论文 | 论文写作
 
 
最新刊物征稿清单
合作刊物总览
论文_论文发表
 
最新合作刊物
 
咨询与服务

咨询电话:
020-31801568
 
热门关键词
 
您当前位置:论文首页->免费论文库->计算机论文->计算机网络->正文(目前国内最大最全原创最多的免费论文中心)
客服QQ咨询: 点击这里给我发消息 客服QQ:7992817 点击这里给我发消息 客服QQ:932633
无忧论文,让您轻松写作,轻松发表,轻松晋级!联系电话:020-31801568
还在为职称而烦恼?到论文发表中心填写订单,其他的交给我们!
找不到合适的论文?可以到论文定制
中心由我们帮您解忧! 论文最低定制价只须800元!
 


Windows 2000系统编程——进程的创建

作者:马宝英 整理:无忧论文网 录入时间:[08-06-06 17:01:10] 浏览点击数: 添加书签:

  [摘要]文章通过CreateProcess创建进程命令函数原形、参数的详解,结合具体的实例从编写系统层次应用程序和用户应用程序的角度讲述了Windows 2000中进程管理的技术,介绍了创建进程的方法,以便使读者从中掌握Windows 2000的特性,编写更有效和更有用的程序

  [关键词]进程;线程;句柄

  新一代操作系统——Windows 2000是一个具有完整功能的环境,与其他操作系统相比完成同样的任务Windows 2000更出色。编程人员要编写系统层次应用程序和用户应用程序掌握Windows 2000中的进程管理至关重要。CreateProcess命令是WINDOWS2000中一个很重要的进程创建命令,下面介绍CreateProcess命令。

  1 函数原型:

  BOOL CreateProcess(LPCTSTR lpApplicationName,LPTSTR lpCommandLine,LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags,LPVOID lpEnvironment, LPCTSTR lpCurrentDirectory, LPSTARTUPINFO lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation );

  2 参数:

  lpApplicationName:指向一个以空结尾的串,他指定了要执行的模块

  lpCommandLine:指向一个以空结尾的串,该串定义了要执行的命令行。

  lpProcessAttributes:指向一个SECURITY_ATTRIBUTES结构,该结构决定了返回的句柄是否可被子进程继承。lpThreadAttributes:指向一个SECURITY_ATTRIBUTES结构,该结构决定了返回的句柄是否可被子进程继承。bInheritHandles,:表明新进程是否从调用进程继承句柄。dwCreationFlags:定义控制优先类和进程创建的附加标志。lpEnvironment:指向一个新进程的环境块。lpCurrentDirectory:指向一个以空结尾的串,该串定义了子进程的当前驱动器和当前目录。lpStartupInfo:指向一个STARTUPINFO结构,该结构定义了新进程的主窗口将如何显示。lpProcessInformation:指向PROCESS_INFORMATION结构,该结构接受关于新进程的表示信息。

  3 返回值:

  若函数调用成功,则返回值不为0;若函数调用失败,返回值为0。ShellExecute和WinExec命令用于简单的作业。如果要完全控制一个新进程,就必须调用CreateProcess。

  在上述参数中,参数lpStartupInfo是STARTUPINFO结构。可以用来设置控台的标题,新窗口的的初始大小和位置,及重定向标准输入和输出。新程序通常可以忽略多数这些数据项,如果选择那样做的话。可以规定该结构体中的标志,已表明要设置的数据段。有时,不想设置任何信息,也必须传递一个有效的指针给空结构(确定设置大小到cb,及设置dwFlags成员为0)。参数lpProcessInformation返回进程和线程句柄,还包括进程和线程ID。这些句柄拥有在参数lpProcessAttributes和lpThreadAttributes中规定的访问。要注意,针对CreateProcess的一些参数对控制台应用程序是特定的,而其它参数则对各种应用程序有用。

  4 程序示例:

  下面通过一个例子来说名CreateProcess和相关命令的使用。下面程序是两个简单的控制台应用程序,第一个程序(MASTER)运行第二个程序(SLAVE),并进入睡眠。SLAVE程序从命令行读取源程序的进程ID(PID),并等待MASTER程序终止。

  程序清单 MASTER程序

undefined undefined

  #include #include #include #include

  void main(int argc,char *argv[]) { char cmd[128];

  if (argc!=1) strcpy(cmd,argv[1]);

  else  strcpy(cmd,”slave.exe”);

  int pid=GetCurrentProcessId();

  sprintf(cmd+strlen(cmd),” %d”,pid);

  cout<<”Master: Starting:”<

  cout.

9 7 3 1 2 4 8 :
·上一篇文章:消防部队军事训练中的政治工作面临的挑战与对策
·下一篇文章:MSP430与液晶显示器的串行接口方案
论文首页】【打印本文】【回到顶部
复制本文地址发送给您的QQ好友:
版权声明:《Windows 2000系统编程——进程的创建》论文版权属于作者本人,您可以参考本论文进行论文创作,但不得抄袭、复制!如果您引用部分内容,请您在参考文献中标注!全部论文收录于无忧论文网免费论文库,转载本站论文资料请注明出处!
最新更新
 
热门新闻

关于我们 | 无忧博客 | 无忧翻译 | 友情链接 | 版权声明 | 广告服务 | 联系我们 | 收藏本站| 人才招聘 | 网站地图
服务电话:020-31801568 (6线) 服务QQ:7992817 9326332 (工作时间:周一至周六 9:00-21:00)
Copyright 2002-2008, 版权所有 WYPAPER.COM 无忧论文免费论文 论文发表 通信管理局粤ICP备08009814号 迅雷统计