gpt4 book ai didi

c# - 从不同的项目运行控制台应用程序

转载 作者:行者123 更新时间:2023-11-30 15:00:12 24 4
gpt4 key购买 nike

我在 VS2010 中有一个解决方案。在该解决方案下,我有我的主要 WPF 应用程序,其中包含所有用户界面、几个库和一个控制台应用程序,当我在我的 WPF 应用程序中单击一个按钮时,我想运行它。我的解决方案结构类似于:

- Solution
- WPF App [this is my startup project]
- Library
- Another library
- Console application

现在我四处寻找,发现有人在寻找如何引用代码和类,还有一个解决方案是找到可执行文件的路径,并将其作为新进程运行。但是,这需要知道绝对路径,甚至是相对路径,我想知道这是否是我可以启动应用程序的唯一方式,即使它在同一个解决方案中?

最佳答案

是的,确实如此。您必须知道可执行文件的路径,无论是绝对路径还是相对路径。但这并不是故障。为什么不将 WPF exe 和 Console exe 放在同一个目录或像 bin\myconsole.exe 这样的子目录中?创建新的 Process 时,只需将 Console exe 的名称传递给 Process.Start(),Windows 就会找到您的可执行文件。

using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
class MyProcess
{
// Opens the Internet Explorer application.
void OpenApplication(string myFavoritesPath)
{
// Start Internet Explorer. Defaults to the home page.
Process.Start("IExplore.exe");

// Display the contents of the favorites folder in the browser.
Process.Start(myFavoritesPath);
}

// Opens urls and .html documents using Internet Explorer.
void OpenWithArguments()
{
// url's are not considered documents. They can only be opened
// by passing them as arguments.
Process.Start("IExplore.exe", "www.northwindtraders.com");

// Start a Web page using a browser associated with .html and .asp files.
Process.Start("IExplore.exe", "C:\\myPath\\myFile.htm");
Process.Start("IExplore.exe", "C:\\myPath\\myFile.asp");
}

// Uses the ProcessStartInfo class to start new processes,
// both in a minimized mode.
void OpenWithStartInfo()
{
ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
startInfo.WindowStyle = ProcessWindowStyle.Minimized;

Process.Start(startInfo);

startInfo.Arguments = "www.northwindtraders.com";

Process.Start(startInfo);
}

static void Main()
{
// Get the path that stores favorite links.
string myFavoritesPath =
Environment.GetFolderPath(Environment.SpecialFolder.Favorites);

MyProcess myProcess = new MyProcess();

myProcess.OpenApplication(myFavoritesPath);
myProcess.OpenWithArguments();
myProcess.OpenWithStartInfo();
}
}
}

here .

关于c# - 从不同的项目运行控制台应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15715760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com