我正在做某种网络开瓶器。
因此,基本上,如果您键入链接,例如www.google.com/123456,它将删除最后两个字符并应添加新的字符(我需要实现这一点)。
我现在的问题是,我根本无法打开任何链接。
我在stackoverflow上看到人们正在使用Process.Start()
,所以我尝试了它,但是它说,系统找不到指定的文件。
static void Main(string[] args)
{
Console.WriteLine($"Type your link here: ");
string url = Console.ReadLine();
url = url.Substring(0, url.Length - 2);
GoToSite(url);
Console.ReadKey();
}
public static void GoToSite(string url)
{
Process.Start(url);
}
我希望打开链接,如果输入为www.google.com/123,则输出应为www.google.com/1
答案 0 :(得分:2)
Process.Start(string url)
在.NET Core和.NET Framework上的工作方式不同。
对于.NET Core,您需要这样做:
public static void GoToSite(string url)
{
try
{
Process.Start(url);
}
catch
{
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
url = url.Replace("&", "^&");
Process.Start(new ProcessStartInfo("cmd", $"/c start {url}") { CreateNoWindow = true });
}
else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
{
Process.Start("xdg-open", url);
}
else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
{
Process.Start("open", url);
}
else
{
throw;
}
}
}
来源:https://brockallen.com/2016/09/24/process-start-for-urls-on-net-core/
答案 1 :(得分:0)
我认为这就是您想要的?
确保已安装chrome,并在全局os(windows)路径中设置了chrome的完整路径。
然后,您只需调用Process.Start("chrome.exe")
即可启动谷歌浏览器。
static void Main(string[] args)
{
Console.WriteLine($"Type your link here: ");
string url = Console.ReadLine();
url = url.Substring(0, url.Length - 3);
GoToSite(url);
Console.ReadKey();
}
public static void GoToSite(string url)
{
string chromeArgs = $"--new-window {url}";
Process.Start("chrome.exe", chromeArgs);
}