2020-04-08 05:19:33 +08:00
|
|
|
|
// 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;
|
|
|
|
|
using System.Windows;
|
2020-04-24 08:11:02 +08:00
|
|
|
|
using interop;
|
2020-04-08 05:19:33 +08:00
|
|
|
|
|
|
|
|
|
namespace Microsoft.PowerToys.Settings.UI.Runner
|
|
|
|
|
{
|
|
|
|
|
public class Program
|
|
|
|
|
{
|
|
|
|
|
// Create an instance of the IPC wrapper.
|
2020-04-24 08:11:02 +08:00
|
|
|
|
private static TwoWayPipeMessageIPCManaged ipcmanager;
|
2020-04-08 05:19:33 +08:00
|
|
|
|
|
2020-04-11 06:22:07 +08:00
|
|
|
|
[STAThread]
|
2020-04-08 05:19:33 +08:00
|
|
|
|
public static void Main(string[] args)
|
|
|
|
|
{
|
|
|
|
|
using (new UI.App())
|
|
|
|
|
{
|
|
|
|
|
App app = new App();
|
|
|
|
|
app.InitializeComponent();
|
|
|
|
|
|
|
|
|
|
if (args.Length > 1)
|
|
|
|
|
{
|
2020-04-24 08:11:02 +08:00
|
|
|
|
ipcmanager = new TwoWayPipeMessageIPCManaged(args[1], args[0], null);
|
|
|
|
|
ipcmanager.Start();
|
2020-04-08 05:19:33 +08:00
|
|
|
|
app.Run();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show(
|
|
|
|
|
"The application cannot be run as a standalone process. Please start the application through the runner.",
|
|
|
|
|
"Forbidden",
|
|
|
|
|
MessageBoxButton.OK);
|
|
|
|
|
app.Shutdown();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-04-24 08:11:02 +08:00
|
|
|
|
public static TwoWayPipeMessageIPCManaged GetTwoWayIPCManager()
|
2020-04-08 05:19:33 +08:00
|
|
|
|
{
|
|
|
|
|
return ipcmanager;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|