mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-04 18:26:39 +02:00
* Added a keyboard hook to the runner * Update RootKeyboardHook * Enable reading the whole JsonObject property * Renamed RootKeyboardHook to CentralizedKeyboardHook * Fixed build break, changed callback return type to bool * Added Hotkey struct which somehow went missing + Cherry-pick fixes * Reorganized the kb hook * Basic version works * Various fixes * Finishing touches * Fix potential threading issue * int -> size_t * Add default initializers to the Hotkey struct * Added a suggested comment * Unified a constant * Use C# classes instead of native calls for sync * Added a claryfing comment * Use std::move * Renamed a method * Possible fix for compilation errors * Fix a regression * Show a message on failure * Added DISABLE_LOWLEVEL_HOOK support * Allow running Launcher as standalone * Rename string constants
29 lines
831 B
C#
29 lines
831 B
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;
|
|
using System.Threading;
|
|
using System.Windows;
|
|
|
|
namespace PowerLauncher.Helper
|
|
{
|
|
public static class NativeEventWaiter
|
|
{
|
|
public static void WaitForEventLoop(string eventName, Action callback)
|
|
{
|
|
new Thread(() =>
|
|
{
|
|
var eventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, eventName);
|
|
while (true)
|
|
{
|
|
if (eventHandle.WaitOne())
|
|
{
|
|
Application.Current.Dispatcher.Invoke(callback);
|
|
}
|
|
}
|
|
}).Start();
|
|
}
|
|
}
|
|
}
|