【问题标题】:Starting an application (on button click) that opens a .txt file and puts the output to another .txt file启动一个应用程序(单击按钮),该应用程序打开一个 .txt 文件并将输出放入另一个 .txt 文件
【发布时间】:2013-05-29 13:12:10
【问题描述】:

我有一个运行良好的控制台应用程序,它打开一个 .txt 文件并通过创建另一个 .txt 文件来放置其输出。

但是,当我尝试使用 Process.Start 我的应用程序时(通过 VB 单击按钮),它崩溃了。 我尝试了几十种代码组合并隔离了问题:

似乎如果我的控制台应用程序必须打开或与外部文件有任何关系,那么它就会崩溃。 我可以在不使用外部数据的应用程序中轻松使用Process.Start

我该如何解决这个问题?

【问题讨论】:

  • 我怀疑问题出在您的控制台应用程序上,而不是它被调用的方式上。如果应用程序实际启动并执行,那么您的进程启动参数不太可能是问题所在。应用程序是否有可能找不到它正在寻找的文件?您是否尝试过绝对路径名?没有看到一些代码,我们无法提供太多帮助。
  • 确实,我没有考虑过绝对路径。表单工作正常。

标签: .net vb.net process


【解决方案1】:

确保外部应用程序有权修改文件。

您可以在Process 之前将ProcessStartInfo 添加到Start 之前:

    ProcessStartInfo processInfo = new ProcessStartInfo();
    processInfo.Verb = "runas";
    processInfo.FileName = command;
    processInfo.Arguments = parameters;
    processInfo.UserName = "username";
    processInfo.Password = password;
    processInfo.Domain = "myDomain";
    processInfo.UseShellExecute = false;
    processInfo.LoadUserProfile = true;

    Process.Start(processInfo);

这应该以管理员身份运行该进程并确保该进程有权修改文件。

另外,如果您可以提供崩溃的输出,这将非常有助于解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多