//
// 转换核心
//
BOOL CDocToSwfDlg::Convert(CString strToolPath, CString strSourcePath, CString strTargetPath)
{
BOOL bResult = FALSE;
CString szCmdline = _T(" /"") + strSourcePath + _T("/" -o /"") + strTargetPath + _T("/"");
STARTUPINFO StartupInfo; //This is an [in] parameter
CString strFlashPaper = CConfigPro::GetConfigValue(_T("Config"), _T("EXEProName"));
CString strKillPro = CConfigPro::GetConfigValue(_T("Config"), _T("KillProcess"));
CStringArray arrayKillPro;
BOOL bIsExist = CProcessPro::IsProcessRun(strFlashPaper);
BOOL bIsKill = FALSE;
CCStringPro::SplitString(strKillPro, _T("="), arrayKillPro);
// 判断FlashPrinter.exe是否运行
while(bIsExist)
{
Sleep(4000);
bIsExist = CProcessPro::IsProcessRun(strFlashPaper);
}
bIsKill = CProcessPro::IsProcessRun(arrayKillPro);
while(bIsKill)
{
Sleep(2000);
// 关闭所有有关进程
CProcessPro::KillProcess(arrayKillPro);
bIsKill = CProcessPro::IsProcessRun(strFlashPaper);
}
ZeroMemory(&StartupInfo, sizeof(StartupInfo));
StartupInfo.cb = sizeof StartupInfo ; //Only compulsory field
if( !CreateProcess(strToolPath, (LPWSTR)(LPCTSTR)szCmdline, NULL, NULL, FALSE, 0, NULL, NULL, &StartupInfo, &mProcessInfo))
{
MessageBox(_T("CreateProcess failed."));
return bResult;
}
bResult = TRUE;
return bResult;
}
本文介绍了一个名为CDocToSwfDlg的工具类,该类能够将文档转换为SWF格式。转换过程中涉及创建进程、设置命令行参数以及处理可能存在的干扰进程等步骤。
143

被折叠的 条评论
为什么被折叠?



