Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
        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);
            }
        }