网站优化月总结,wordpress如何按分类分栏,asp网站自动识别手机,seo排名查询在C#中#xff0c;BlockInput通常指的是一个功能或方法#xff0c;用于阻止或暂停用户输入一段时间。这在某些特定的应用场景下非常有用#xff0c;比如在游戏中防止玩家连续快速点击导致游戏逻辑错误#xff0c;或者在UI应用中防止用户在某个操作正在进行时进…在C#中BlockInput通常指的是一个功能或方法用于阻止或暂停用户输入一段时间。这在某些特定的应用场景下非常有用比如在游戏中防止玩家连续快速点击导致游戏逻辑错误或者在UI应用中防止用户在某个操作正在进行时进行其他操作。
导入user32.dll
[DllImport(“user32.dll”)] static extern void BlockInput(bool Block);
代码锁定鼠标及键盘
/// summary/// 锁定鼠标及键盘/// /summary/// returns/returnspublic static bool Lock(){if (IsAdministrator()){BlockInput(true);//锁定鼠标及键盘return true;}elsereturn false;}代码解除键盘鼠标锁定 /// summary/// 解除键盘鼠标锁定/// /summary/// returns/returnspublic static bool UnLock(){if (IsAdministrator()){BlockInput(false);//解除键盘鼠标锁定return true;}elsereturn false;}注意Lock和Unlock需在一个线程里 用户强制解除
同时按CtrlAltDelete或休眠键等有优先级的键
C#源码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Security.Principal;
using System.Text;namespace iSystem
{public class KeyboardBlocker{/// summary/// 锁定鼠标及键盘/// /summary/// returns/returnspublic static bool Lock(){if (IsAdministrator()){BlockInput(true);//锁定鼠标及键盘return true;}elsereturn false;}/// summary/// 解除键盘鼠标锁定/// /summary/// returns/returnspublic static bool UnLock(){if (IsAdministrator()){BlockInput(false);//解除键盘鼠标锁定return true;}elsereturn false;}/// summary/// 是否是管理员权限/// /summary/// returns/returnspublic static bool IsAdministrator(){WindowsIdentity current WindowsIdentity.GetCurrent();WindowsPrincipal windowsPrincipal new WindowsPrincipal(current);return windowsPrincipal.IsInRole(WindowsBuiltInRole.Administrator);}[DllImport(user32.dll)]static extern void BlockInput(bool Block);}
}
使用
KeyboardBlocker.Lock();
KeyboardBlocker.UnLock();