Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么BlockInput对我不起作用?我忘了什么吗?_C#_.net_Dll_User32 - Fatal编程技术网

C# 为什么BlockInput对我不起作用?我忘了什么吗?

C# 为什么BlockInput对我不起作用?我忘了什么吗?,c#,.net,dll,user32,C#,.net,Dll,User32,我想在短时间内阻止用户键盘输入,但该方法不起作用 公共部分类NativeMethods { 有人有主意了吗?已经谢谢了显然块输入函数在64位中不起作用。您可以从这里尝试答案: .什么不起作用?您从块输入中得到的返回值是多少?如果它不为零,您可以使用获取最后一个错误。我没有真正得到返回值。它是如何使用的? [DllImport("user32.dll", EntryPoint = "BlockInput")] [return: MarshalAs(UnmanagedType.Boo

我想在短时间内阻止用户键盘输入,但该方法不起作用

公共部分类NativeMethods {


有人有主意了吗?已经谢谢了

显然块输入函数在64位中不起作用。您可以从这里尝试答案:
.

什么不起作用?您从
块输入中得到的返回值是多少?如果它不为零,您可以使用获取最后一个错误。我没有真正得到返回值。它是如何使用的?
    [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);