免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: hikaruxx
打印 上一主题 下一主题

[C++] MFC中从创建的进程中调用外部程序出现的问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-06-10 19:29 |只看该作者
void CDlg::OnButton3()
{
        // TODO: Add your control notification handler code here
        
        CWinThread* pThread;
        pThread=AfxBeginThread(ThreadFunc,NULL);//&m_progress);

        CPlayGif aa;
        aa.DoModal();   //显示GIF图片
      WaitForSingleObject(pThread, INFINITE);
//本打算在此处后添加备份结束的操作,但发现此语句不起作用,就是说压缩还未结束,就开始弹出消息框asd
//该如何解决这个问题?如果解决了,我想在此处发送消息,把上面显示gif图片的对话框关闭,该怎么整,先谢谢了
        AfxMessageBox("asd");
}

UINT ThreadFunc(LPVOID lpParam)
{

        CPack m_pack;
        m_pack.cpack();
        SendMessage(CPlayGif对话框实例句柄,WM_CLOSE,0,0);
        return 0;
}

void CPack::cpack()
{
        ……
        HANDLE hProcess = CreateProcess(NULL, ss, NULL, NULL, false, 0, NULL, NULL, &si, &pi);//在此调用外部程序7-zip压缩
        WaitForSingleObject(hProcess , INFINITE);
}

试试这个

论坛徽章:
0
12 [报告]
发表于 2009-06-10 19:31 |只看该作者
CreateProcess(NULL, ss, NULL, NULL, false, 0, NULL, NULL, &si, &pi);//在此调用外部程序7-zip压缩
后面再加一句:
WaitForSingleObject(pi.hProcess, INFINITE);
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP