繁体   English   中英

C#冻结鼠标移动

[英]C# freeze ONLY mouse movement

我试图用C#禁用鼠标移动,如果可能只是X或Y位置。

我试过用

BlockInput(true);

但这也会冻结我的键盘。

有帮助吗?

Cursor.Clip属性设置为矩形以限制光标移动。

使用Cursor.Clip。 它会工作。

这是一篇处理键盘和鼠标的好文章。

对于鼠标:

 actHook= new UserActivityHook(); // crate an instance
 actHook.OnMouseActivity+=new MouseEventHandler(MouseMoved);

然后在功能中做你想做的事:

public void MouseMoved(object sender, MouseEventArgs e)
{
    labelMousePosition.Text=String.Format("x={0}  y={1}", e.X, e.Y);
    if (e.Clicks>0) LogWrite("MouseButton     - " + e.Button.ToString());
}

你可以“模拟”被阻止的鼠标。 当鼠标位置发生变化时,您将其返回到之前设置的原始起始位置。 使用X和Y设置起始鼠标位置 ,如960,540(这是1920,1080的一半),然后处理鼠标移动事件,使其将光标返回到原始位置。

最好的解决方案是将鼠标灵敏度设置为0,它完美地工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM