c语言如何写代码实现打开记事本(notepad.exe)3秒后关闭记事本?
1个回答
展开全部
需要使用Windows API。主要用到了3个函数,CreateProcess、TerminateProcess、CloseHandle。
CreateProcess用来创建一个进程,可以用它来执行一个程序。TerminateProcess用来终止一个进程,关闭记事本。CloseHandle是用来关闭句柄的,主要是安全问题,加上就行。Sleep(3000)表示暂停3秒钟。
#include <windows.h>
int main()
{
char command[] = "notepad.exe";
STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
BOOL ret;
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = TRUE;
ret = CreateProcess(NULL, command, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi);
if (ret)
{
Sleep(3000);
TerminateProcess(pi.hProcess, 0);
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
}
return 0;
}
更多追问追答
追问
如果我打开的某个.exe程序(不是指记事本)有其它的子进程,用你的代码能把.exe的子进程也关掉吗?
比如:假如记事本这个程序有子进程,用你上面的代码有没有把子进程也关掉?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询