实验二windows进程的创建与销毁.docxVIP

  • 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)

文档评论(0)

1亿VIP精品文档

相关文档