- 13
- 0
- 约4.5千字
- 约 12页
- 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,
LPCTSTR lpOperation, LPCTSTR lpFile,
//显示 UI 或错误消息的窗口句柄,可以为
NULL
//要执行的操作
//要选择的文件, 如果 Directory 是相对路径 则该字符串不能是相对路径
LPCTSTR lpParameters, //执行文件所需参数,可以为 NULL LPCTSTR lpDirectory, //文件目录,如果为当前工作目录则为 NULL
INT nShowCmd //窗口显示标志
);
(3) CreateProcess:创建一个新线程及主线程
BOOL CreateProcess(
LPCTSTR lpApplicationName, //要执行的模块名称, 99%的情况都为 NULL
LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES
LPSECURITY_ATTRIBUTES
//要执行的命令行,不指明文件类型的话, 即为.exe
lpProcessAttributes, //用于确定是否可以由子进程继承 返回的新进程对象的句柄,NULL 则不继承
lpThreadAttributes, //用于确定是否可以由子进程继 承返回的新线程对象的句柄, NULL 则不继承
BOOL bInheritHandles,
DWORD dwCreationFlags, LPVOID lpEnvironment,
//若为true 则进程中的每个可继承句柄都由新进程
来继承,若为 false 即不继承
//控制优先级和创建进程标志
//指向新进程环境块指针, 若为 NULL,则使用调用进 程的环境
LPSTARTUPINFO lpStartupInfo, //新进程窗口如何显示的 STARTUPINFO 的结构体
LPPROCESS_INFORMATION lpProcessInformation //指向 PROCESS_INFORMATION 结 构的指针, 接受有关新进程的标识符信息
);
(4) STARTUPINFO 结构体
(5) PROCESS_INFORMATION 结构体
(6) 销毁进程 API:
BOOL TerminateProcess(
HANDLE hProcess,
UINT uExitCode
);
参考代码:
2. 挂起和激活创建进程的主线程;
挂起进程的主线程 API
DWORD SuspendThread(HANDLE hThread);
激活进程的主线程 API
DWORD ResumeThread(HANDLE hThread);
3. 通过 windows 进程管理器查看系统进程列表的变化(快捷键 crtl+shift+esc)
二、实验结果
1
代码实现:
#include windows.h
#include tchar.h
#include stdio.h
int main(int argc, char* argv[])
{
TCHAR szCommandLine[] = TEXT(NOTEPAD);//或者WCHAR
//LPWSTR szCommandLine = TEXT(NOTEPAD);//错误
//STARTUPINFO si = { sizeof(si) };
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(pi, sizeof(pi));
si.dwFlags = STARTF_USESHOWWINDOW; // 指定wShowWi
您可能关注的文档
- 操作系统试验.docx
- 实验二windows进程的创建与销毁.docx
- 数据结构笔记_2020-78 (1).doc
- 数据结构课程设计题目要求(1).doc
- 大学英语期末考试考生注意事项.docx
- 单片机不看书版(1).docx
- 实验9 索引实验.doc
- 计算方法模拟试题(1-15)解答.doc
- 实验10 触发器的创建和使用.doc
- 数值计算方法选择题.doc
- 第四单元 第1课时 多位数乘两位数 数学青岛版(五四制)三年级上册(新教材).pptx
- 三菱FX1S PLC借助以太网通讯模块与上位机通讯实现监控光伏组件生产线的应用配置案例.docx
- 西门子200PLC通过串口转以太网直连昆仑通泰触摸屏实现本地操作与远程监控同步.docx
- 四川省成都市第七中学2025~2026学年度下期二诊模拟考试历史试卷(含答案).docx
- 四川省成都市第七中学2025~2026学年度下期二诊模拟考试思想政治试卷(含答案).pdf
- 四川省成都市第七中学2025~2026学年度下期二诊模拟考试历史试卷(含答案).pdf
- 四川省成都市第七中学2025~2026学年度下期二诊模拟考试英语试卷(含答案).pdf
- 部队教学法试题及答案.doc
- 陇南公路管理局考试题库.doc
- 河北自学历年考试题库.doc
最近下载
- 物理试卷 -内蒙古呼和浩特市2025-2026学年高三年级第一次质量监测(8.28-8.29).pdf VIP
- 08J907 洁净厂房建筑构造.pdf VIP
- 化工分离过程_课后答案刘家祺.pdf VIP
- 中石油加油站建设标准设计.pdf VIP
- 高三学生英语词汇量提升计划与方法.docx VIP
- 建筑ALC轻质隔墙工程监理实施细则.doc
- DB63_T 2256.7-2025 水利信息化工程施工质量评定规范 第7部分 通信系统.docx VIP
- 广东公路工程质量监督登记表、检查要点、用表、抽查项目、交工验收用表.pdf VIP
- SY_T 5988-2018油管和套管转换接头.pdf
- Q62DAN,Q64DAN,Q68DAV数模转换模块用户手册080327.pdf VIP
原创力文档

文档评论(0)