public static void Start() { if (!WindowsRuntimeHelper.GetHasElevatedPrivileges()) { return; } try { _map = new ConcurrentDictionary <uint, string>(); _processStartedWatcher = new ManagementEventWatcher("SELECT ProcessID, ProcessName FROM Win32_ProcessStartTrace"); _processStartedWatcher.EventArrived += ProcessStarted; _processStartedWatcher.Start(); _processStoppedwatcher = new ManagementEventWatcher("SELECT ProcessID FROM Win32_ProcessStopTrace"); _processStoppedwatcher.EventArrived += ProcessStopped; _processStoppedwatcher.Start(); } catch (ManagementException exc) { Log.Warn("Could not start listening to WMI events", exc); Stop(); } }
public static void Launch(string query) { KeyboardSend.KeyDown(KeyboardSend.LWin); if (WindowsRuntimeHelper.IsWindows8()) { KeyboardSend.KeyPress((byte)'S'); } KeyboardSend.KeyUp(KeyboardSend.LWin); if (string.IsNullOrEmpty(query)) { return; } Thread.Sleep(100); var keysToSend = query.Trim().Select(char.ToUpper).Where(OnlyValidWindowsSearchCharacters); foreach (var uc in keysToSend) { KeyboardSend.KeyPress((byte)uc); } }