- 72
- 0
- 约1.54千字
- 约 5页
- 2022-06-15 发布于新疆
- 举报
实验二 windows 进程的创建与销毁
实验目的:
掌握 windows 进程的创建和销毁 API 的调用方法。
实验内容与要求:
1. 创建和销毁一个 Word 进程;
创建进程 API:
(1)WinExec:运行一个指定的程序。
UNIT WINAPI WinExec{
_In_ LPCTSTR lpCmdLine, //要执行应用程序的命令行,如果不包含目录路径,则按应用程序目录,当前目录,Windows系统目录,Windows 目录以及 Path 环境目录来搜索
_In_ UNIT uCmdShow //显示选项,SW_HIDE 表示隐藏窗口并激 活其他窗口。
};
(2)ShellExecute:运行一个外部程序,并进行一定程度的控制
HINSTANCE ShellExecute{
HWND hwnd, //显示 UI 或错误消息的窗口句柄,可以为
NULL
LPCTSTR lpOperation, //要执行的操作
LPCTSTR lpFile, //要选择的文件,如果 Directory 是相对路径,则该字符串不能是相对路径
LPCTSTR lpParameters, //执行文件所需参数,可以为 NULL
LPCTSTR lpDirectory, //文件目录,如果为当前工作目录则为 NULL
INT nShowCmd //窗口显示标志
};
(3)CreateProcess:创建一个新线程及主线程
BOOL CreateProcess{ LPCTSTR lpApplicationName, //要执行的模块名称,99%的情况都为 NULL
LPTSTR lpCommandLine, //要执行的命令行,不指明文件类型的话,即为.exe
LPSECURITY_ATTRIBUTES lpProcessAttributes, //用于确定是否可以由子进程继承 返回的新进程对象的句柄,NULL 则不继承
LPSECURITY_ATTRIBUTES lpThreadAttributes, //用于确定是否可以由子进程继承返回的新线程对象的句柄,NULL 则不继承
BOOL bInheritHandles, //若为 true 则进程中的每个可继承句柄都由新进程来继承,若为 false 即不继承
DWORD dwCreationFlags, //控制优先级和创建进程标志
LPVOID lpEnvironment, //指向新进程环境块指针,若为 NULL,则使用调用进程的环境
LPSTARTUPINFO lpStartupInfo, //新进程窗口如何显示的STARTUPINFO的结构体
LPPROCESS_INFORMATION lpProcessInformation //指向 PROCESS_INFORMATION结构的指针,接受有关新进程的标识符信息
};
(4)STARTUPINFO 结构体
PROCESS_INFORMATION 结构体
(6)销毁进程 API:
BOOL TerminateProcess{
HANDLE hProcess,
UINT uExitCode
};
参考代码:
WinExec
2. 挂起和激活创建进程的主线程;
挂起进程的主线程 API
DWORD SuspendThread(HANDLE hThread);
激活进程的主线程 API
DWORD ResumeThread(HANDLE hThread);
通过 windows 进程管理器查看系统进程列表的变化(快捷crtl+shift+esc)
您可能关注的文档
最近下载
- GE CT错误代码.doc VIP
- 广西农产品出口东盟的现状及问题分析.docx VIP
- 5.陕西省园林绿化工程基价表(2025).pdf VIP
- (五个对照)2025年度组织生活会个人整改清单(学习贯彻党的创新理论方面;加强党性锤炼方面;联系服务职工群众方面;发挥先锋模范作用方面;改作风树新风方面.docx VIP
- 对校园欺凌说“不”主题班会课件.pptx VIP
- 4-3煤东翼大巷运输顺槽倒车硐室、加宽段、抹角施工安全技术措施封皮.doc VIP
- 05S502阀门井图集完整版.pdf VIP
- 2025年湖南省高中学业水平合格考试地理试卷真题(含答案详解).pdf VIP
- 涂装工艺技术标准.pdf VIP
- 对校园欺凌说“不”主题班会优质PPT课件.pptx VIP
原创力文档

文档评论(0)