Как получить имя процесса быстрее или остановить несколько миллисекундных процессов другого приложения. Я хочу скрыть процесс, а не убить процесс - PullRequest
0 голосов
/ 16 июня 2020

У меня вопрос. Я хочу использовать winapi, чтобы скрыть процесс другого приложения. Я устанавливаю SetWinEventHook и получаю имя процесса, чтобы проверить имя с именем процесса, не разрешающим запуск.

 public static void Main()
        {
            processQueue = new Queue();
            processList = new List<ProcessDetails>();
            // Listen for foreground changes across all processes/threads on current desktop...
            IntPtr hhook = SetWinEventHook(EVENT_OBJECT_CREATE, EVENT_OBJECT_CREATE, IntPtr.Zero,
                    procDelegate, 0, 0, WINEVENT_OUTOFCONTEXT);

            // MessageBox provides the necessary mesage loop that SetWinEventHook requires.

            //MessageBox.Show("Tracking focus, close message box to exit.");
            Application.Run(new Form1());

            UnhookWinEvent(hhook);
        }

скрыть процесс, я использую ShowWindowAsyn c, чтобы скрыть процесс

     static void WinEventProc(IntPtr hWinEventHook, uint eventType,
            IntPtr hwnd, int idObject, int idChild, uint dwEventThread, uint dwmsEventTime)
        {
            uint pid;
            GetWindowThreadProcessId(hwnd, out pid);
            p = Process.GetProcessById((int)pid);           
            if (p.ProcessName == "EXCEL")
            {
                ShowWindowAsync(hwnd, 0);
            }...
    }

Но пока я нахожу имя и скрыть оконный процесс, UI отображения приложения. Иногда я вижу, что пользовательский интерфейс отключается. Я хочу получить имя процесса быстрее или остановить несколько миллисекундных процессов другого приложения. Там в любом случае? Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...