- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验3 创建进程
实验三 创建进程
实验目的:
通过创建进程和观察正在运行的进程的的设计和调试操作,进一步熟悉操作系统的进程概念,理解windows进程的“一生”。
通过阅读和分析实验程序,学习创建进程、观察进程的程序设计方法。
实验内容:
创建进程
本实验显示了创建子进程的基本框架。该程序只是再一次地启动自身,显示它的系统进程ID和它在进程列表中的位置。
步骤1:登录进入Windows
步骤2:在“开始”菜单中单击“程序”-“Microsoft Visual Studio 6.0”–“Microsoft Visual C++ 6.0”命令,进入Visual C++窗口,选择菜单“文件/新建/c++ source File,文件名为自己的学号,进入编程界面。
步骤3:将以下程序输入
# include windows.h
# include iostream.h
# include stdio.h
void StartClone(int nCloneID)
{
TCHAR szFilename[MAX_PATH];
GetModuleFileName(NULL,szFilename,MAX_PATH);
TCHAR szCmdLine[MAX_PATH];
sprintf(szCmdLine,\%s\ %d,szFilename,nCloneID);
STARTUPINFO si;
ZeroMemory(reinterpret_castvoid*(si),sizeof(si));
si.cb=sizeof(si);
PROCESS_INFORMATION pi;
BOOL bCreateOK=CreateProcess(
szFilename, //exe文件名
szCmdLine, //命令行
NULL, //默认的进程安全性
NULL, //默认的线程安全性
FALSE, //不继承句柄
CREATE_NEW_CONSOLE, //使用新的控制台
NULL, //新的环境
NULL, //当前目录
si, //启动信息
pi); //返回的进程信息
if(bCreateOK)
{
CloseHandle(pi.hProcess );
CloseHandle(pi.hThread);
}
}
int main(int argc,char *argv[])
{
int nClone(0);
if(argc1)
{
sscanf(argv[1],%d,nClone);
}
printf(process ID: %d,Clone ID: %d\n,GetCurrentProcessId(),nClone);
const int c_nCloneMax=25;
if(nClonec_nCloneMax)
{
StartClone(++nClone);
Sleep(1000);
}
Sleep(500);
return 0;
}
步骤4:单击“Build”菜单中的“Compile ××.cpp”命令,系统显示:
This build command requires an active project workspace. Would you like to create a default project workspace ?
(build命令需要一个活动的项目工作空间。你是否希望建立一个缺省的项目工作空间?)
单击“是”按钮确认。系统对进行编译。
步骤5:编译完成后,单击“Build”菜单中的“Build ××.exe”命令,建立××.exe可执行文件。
操作能否正常进行?
____________________________________________________________________
________________________________________________________________________
步骤6:在工具栏单击“Execute Program”(执行程序) 按钮,或者按Ctrl + F5键,或者单击“Build”菜单中的“Execute ××.exe”命令,执行××.exe程序。
步骤7:按Ctrl + S键可暂停程序的执行,按Ctrl + Pause (Break) 键可终止程序的执行。
本实验程序中设置的CreateProcess() 函数的各个参数是:
a. _________________________________________________;
b.
文档评论(0)