CreateProcess问题

shark_dim 2016-09-15 05:46:03
能给一个CreateProcess的例子吗?
要求,可以控制启动的notepad的个数,

比如按钮,点一次,启动一个notepad,再点一次,又启动一个。。。当到4个的时候,只能把之前启动的某一个notepad关闭后,才能再启动一个

感谢大家
...全文
652 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
银点 2016-09-18
  • 打赏
  • 举报
回复
把CreateProcess成功返回时传出参数(最后一个)放到 std::list<PROCESS_INFORMATION > proclist中 当你点击按钮时,先检查proclist.size(),如果>4了,读取pop出proclist第一个元素,转换成PROCESS_INFORMATION 这个结构中保存有进程句柄 然后使用TerminateProcess,关闭先前打开的进程。 下面的伪代码说一下思路,肯定可行,我们就有类似的项目应用

if(proclist.size() < 5)
{
    CreateNewProcess("notepad.exe");//自定义函数,把CreateProcess封装在内
}
else
{
//伪代码,先关闭以前打开的进程
    PROCESS_INFORMATION pi = (PROCESS_INFORMATION)proclist.front();
    proclist.pop_front();
    TerminateProcess(pi.hProcess,0);
    CloseHandle(pi.hProcess);
    CloseHandle(pi.hThread);
//打开新的进度
     CreateNewProcess("notepad.exe");
}

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧