《实验六Windows进程的创建》由会员分享,可在线阅读,更多相关《实验六Windows进程的创建(8页珍藏版)》请在金锄头文库上搜索。
1、实验六 Windows进程 的创建授课教师:付勇智 西南林业大学 理学院实验目的 熟悉Windows下进程管理相关机制 掌握Windows下调用相关API函数创建进 程的方法 熟悉Windows下多线程和同步相关机制实验内容 要求写一个类似发布网页垃圾广告的程序 ,程序实现如下功能: 本程序每隔一分钟打开一个网页 打开的网页轮流显示以下五个网站: 搜狐(http:/) 新浪(http:/ ) 中国程序员网(http:/) 互动出版网(http:/www.china-) 教育部(http:/ 每次打开网页,实际上可以通过创建进程 ,并用进程新建运行程序C:Program FilesIntern
2、et ExplorerIEXPLORE.exe 并将对应要打开网站地址作为第一个执行 参数传递给IEXPLORE.exe进程创建 _spawnl系统调用(参考课件第五章) CreateProcess系统调用 BOOL CreateProcess( LPCTSTR lpApplicationName, / name of executable module LPTSTR lpCommandLine, / command line string LPSECURITY_ATTRIBUTES lpProcessAttributes, / SD LPSECURITY_ATTRIBUTES lpThrea
3、dAttributes, / SD BOOL bInheritHandles, / handle inheritance option DWORD dwCreationFlags, / creation flags LPVOID lpEnvironment, / new environment block LPCTSTR lpCurrentDirectory, / current directory name LPSTARTUPINFO lpStartupInfo, / startup information LPPROCESS_INFORMATION lpProcessInformation
4、 / process information );示例程序#include char URLs256= “IEXPLORE http:/“, “IEXPLORE http:/“, “IEXPLORE http:/“, “IEXPLORE http:/“ ;int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) STARTUPINFO siStartInfo; PROCESS_INFORMATION piProcInfo; ZeroMemory( siStartI
5、nfo.cb=sizeof(siStartInfo); int i;while(1) for (i=0; isizeof(URLs)/256; i+) CreateProcess(“C:Program FilesInternet ExplorerIEXPLORE.EXE“, URLsi, NULL, NULL, FALSE, 0, NULL, “C:Program FilesInternet Explorer“, Sleep(10000); return 0; 思考题 在已完成程序基础上考虑应用操作系统课程 所学知识,扩展上述程序,让你的程序能够动态 的从一个文本文件读入广告网页的URL,并依次 播放相关网页广告? 如果相关广告网页URL地址的文本文件放在某个 网络服务器上,能否让你的程序动态下载更新这 个文件信息?(这里需要用到计算机网络相 关知识,已超出本课程范围,供学有余力的同学 在后续课程学习过程或自学中思考和实践。)