/
githubmirror
/
PowerToys
Обзор
Документация
Войти
/
githubmirror
/
PowerToys
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/modules/cmdpal/ext/ProcessMonitorExtension/Program.cs
36 строк
2 KB
Mike Griese
Rename the `[Ee]xts` dir to `ext` (#38852)
15 апр 2025, 14:07
Не верифицирован
15 апр 2025, 14:07
2b5181b
Код
Авторство
О чём код?
// 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.Threading; using Microsoft.CommandPalette.Extensions; namespace ProcessMonitorExtension; public class Program { [MTAThread] public static void Main(string[] args) { if (args.Length > 0 && args[0] == "-RegisterProcessAsComServer") { using ExtensionServer server = new(); var extensionDisposedEvent = new ManualResetEvent(false); var extensionInstance = new SampleExtension(extensionDisposedEvent); // We are instantiating an extension instance once above, and returning it every time the callback in RegisterExtension below is called. // This makes sure that only one instance of SampleExtension is alive, which is returned every time the host asks for the IExtension object. // If you want to instantiate a new instance each time the host asks, create the new instance inside the delegate. server.RegisterExtension(() => extensionInstance); // This will make the main thread wait until the event is signalled by the extension class. // Since we have single instance of the extension object, we exit as soon as it is disposed. extensionDisposedEvent.WaitOne(); } else { Console.WriteLine("Not being launched as a Extension... exiting."); } } }