c语言如何写代码实现打开记事本(notepad.exe)3秒后关闭记事本?

 我来答
百度网友6fa3859
2016-03-07 · TA获得超过3349个赞
知道小有建树答主
回答量:1148
采纳率:85%
帮助的人:427万
展开全部

  需要使用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的子进程也关掉吗?
比如:假如记事本这个程序有子进程,用你上面的代码有没有把子进程也关掉?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式