转换能转换成功,但是在转换的时候总是显示FlashPrinter的窗口。查找资料说 // startinfo.UseShellExecute = false;//不使用系统外壳程序启动
// startinfo.RedirectStandardInput = false;//不重定向输入
// startinfo.RedirectStandardOutput = true;//重定向输出,而不是默认的显示在dos控制台上
// startinfo.CreateNoWindow = true;//不创建窗口 加上这些就不显示打开的FlashPrinter窗口了。但还是行。完成代码如下
/// <summary>
/// 创建进程 执行Flash转换
/// </summary>
/// <param name="sourceFileName">原文件</param>
/// <param name="outPutFileName">输出swf文件</param>
/// <param name="msg">返回错误信息</param>
/// <returns></returns>
bool CreateProcessExec(string sourceFileName,string outPutFileName,out string msg)
{
bool bl=false;
try
{
string flashPrinter = OperString.GetFlashPath();//FlashPrinter的地址
Process pss = new Process();
pss.StartInfo.FileName = flashPrinter;
pss.StartInfo.Arguments = string.Format("{0} {1} -o {2}", flashPrinter, sourceFileName, outPutFileName);
pss.StartInfo.UseShellExecute = false;
pss.StartInfo.CreateNoWindow = true;
pss.Start();
while (!pss.HasExited)
{
continue;
}
msg = "";
bl = true;
}
catch(Exception ex)
{
msg=ex.Message.ToString();
}
return bl;
}
望高手帮忙解决