mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-05 18:57:19 +02:00
41 lines
1.0 KiB
C#
41 lines
1.0 KiB
C#
|
|
// Copyright (c) Microsoft Corporation
|
||
|
|
// The Microsoft Corporation licenses this file to you under the MIT license.
|
||
|
|
// See the LICENSE file in the project root for more information.
|
||
|
|
|
||
|
|
using System.Diagnostics;
|
||
|
|
using System.Threading.Tasks;
|
||
|
|
using Microsoft.CmdPal.Ext.Apps.Properties;
|
||
|
|
using Microsoft.CommandPalette.Extensions.Toolkit;
|
||
|
|
|
||
|
|
namespace Microsoft.CmdPal.Ext.Apps.Commands;
|
||
|
|
|
||
|
|
internal sealed partial class OpenPathCommand : InvokableCommand
|
||
|
|
{
|
||
|
|
private static readonly IconInfo TheIcon = new("\ue838");
|
||
|
|
|
||
|
|
private readonly string _target;
|
||
|
|
|
||
|
|
public OpenPathCommand(string target)
|
||
|
|
{
|
||
|
|
Name = Resources.open_location;
|
||
|
|
Icon = TheIcon;
|
||
|
|
|
||
|
|
_target = target;
|
||
|
|
}
|
||
|
|
|
||
|
|
internal static async Task LaunchTarget(string t)
|
||
|
|
{
|
||
|
|
await Task.Run(() =>
|
||
|
|
{
|
||
|
|
Process.Start(new ProcessStartInfo(t) { UseShellExecute = true });
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
public override CommandResult Invoke()
|
||
|
|
{
|
||
|
|
_ = LaunchTarget(_target).ConfigureAwait(false);
|
||
|
|
|
||
|
|
return CommandResult.Dismiss();
|
||
|
|
}
|
||
|
|
}
|