C # исключить потоки из отладчика, чтобы предотвратить их приостановку - PullRequest
0 голосов
/ 31 мая 2018

У меня есть следующий код:
https://github.com/YatoDev/Yato.LowLevelInput/blob/master/Yato.LowLevelInput/WindowsHooks/WindowsHook.cs

Я использую это для хуков LowLevelMouse и LowLevelKeyboard.

Когда я отлаживаю приложение и приостанавливаю его, перехват не выполняется.
Это приводит к задержкам ввода не менее чем на 10 секунд

Я также протестировал его, используя CreateThread вместо управляемого потока(также с флагом HideFromDebugger)
К сожалению, это не помогает.

Похоже, что отладчик c # останавливает любой поток, выполняющий управляемый код.

Интересно, есть ли способ исключить мои нити крюка, чтобы предотвратить их приостановку.

Примечание: я искал эту проблему, но не нашел ответа, предоставляющего автоматизированное решение.Я надеюсь найти способ исключить их с помощью Thread.Name.Contains ("Foo") или путем настройки отладчика так, чтобы он никогда не приостанавливал все потоки.

...