Почему у меня не работает BlockInput? Я ничего не забыл?

Хочу на короткое время заблокировать ввод пользователя с клавиатуры, но способ не работает.

общедоступный частичный класс NativeMethods {

    [DllImport("user32.dll", EntryPoint = "BlockInput")]
    [return: MarshalAs(UnmanagedType.Bool)]
    public static extern bool BlockInput([MarshalAs(UnmanagedType.Bool)] bool fBlockIt);

}

public class KeyboardBlocker
{

    public static void Block(int span)
    {
        try
        {
            NativeMethods.BlockInput(true);
            Console.WriteLine("should have blocked");
            Thread.Sleep(span);
        }
        finally
        {
            NativeMethods.BlockInput(false);

у кого-нибудь есть идея? Спасибо уже


person Colin1860    schedule 18.02.2019    source источник
comment
Что именно не работает? Какое возвращаемое значение вы получаете от BlockInput? Если он не равен нулю, вы можете получить последнюю ошибку, используя GetLastError.   -  person Streamline    schedule 18.02.2019
comment
Я действительно не получаю возвращаемое значение   -  person Colin1860    schedule 18.02.2019


Ответы (1)