【问题标题】:ProcessStartInfo working on one computer but not running on anotherProcessStartInfo 在一台计算机上工作但不在另一台计算机上运行
【发布时间】:2014-07-04 01:01:57
【问题描述】:

以下代码在我的计算机上运行良好,但在办公室计算机上挂起

        ProcessStartInfo info = new ProcessStartInfo();
        info.Verb = "print";
        info.FileName = @"c:\temp\" + filename;
        info.CreateNoWindow = true;
        info.WindowStyle = ProcessWindowStyle.Hidden;

        Process p = new Process();
        p.StartInfo = info;
        p.Start();

        p.WaitForInputIdle();
        System.Threading.Thread.Sleep(3000);
        if (false == p.CloseMainWindow())
            p.Kill();

请帮忙

【问题讨论】:

  • “不起作用” - 怎么样?目标文件是否存在于办公室计算机上?甚至有一个 C:\temp 文件夹吗?您运行的用户是否有权访问 C:\temp 中的文件?
  • 文件夹已创建,文件也存在,但在尝试运行此代码时挂起。
  • 进程挂起?您没有没有显示的打印机设置对话框?
  • 是的,但是它挂起并显示 Windows 繁忙图标,并且没有任何反应,屏幕变暗,必须关闭应用程序。
  • 去掉“CreateNoWindow=true”这一行,再试一次,可能会帮助你调试问题。

标签: c# pdf processstartinfo


【解决方案1】:

有些计算机比其他计算机慢,所以进程在完成之前就退出了。增加线程休眠时间解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多