jjzjj

c# - 在 C# 中完全禁用鼠标移动和单击

这个问题在这里已经有了答案:Block/Nullifymousemovement/clickinC#(1个回答)关闭6年前。在工作中,我是一名培训师。我正在设置类(class)来教人们如何在没有鼠标的情况下“做事”......曾经见过人们点击“登录”文本框,输入,拿起鼠标,点击“密码”,输入他们的密码,然后再次拿起鼠标单击下面的“连接”按钮?所以我会教他们如何在没有鼠标的情况下完成所有这些(当然还有许多其他事情)在类(class)结束时,我会让他们通过某种考试。所以我正在构建一个基于向导的小应用程序,其中我展示了一些要填写的表单的真实示例,但我想在他们进行此测试时以编程方式禁用他们的鼠

c# - 如何检测鼠标点击?

我如何检测Windows上的鼠标点击?(XP/Vista/7)。例如,当我的应用程序正在运行时,它会检测用户是否单击了某些内容(不是在该应用程序用户界面上,而是在Windows用户界面上)。如果是,执行另一个进程。我不知道这是否可行,我希望有人能给我一些指导。谢谢! 最佳答案 如果你想拦截任何鼠标点击、移动、鼠标滚轮点击等,你需要写一个鼠标钩子(Hook)。如果您想在自己的应用程序之外跟踪鼠标事件,这是AFAIK的唯一方法。如果要安装Hook,则需要从User32.dll文件导入SetWindowsHookEx(...)函数。它涉及

c# - 在不访问 MouseEventArgs 的情况下获取鼠标状态?

我有一个包含很多很多控件的表单。我需要检测鼠标是向下还是向上。大多数时候,我没有MouseEventArgs。没有mouseEventArgs是否有一种快速简便的方法来判断鼠标是否按下?是否有替代方案,或者类似的方法是唯一的方法吗?:foreach(Controlcinthis.Controls){c.MouseUp+=newMouseEventHandler(globalMouseUp);c.MouseDown+=newMouseEventHandler(globalMouseDown);}boolisMouseUp=true;privatevoidglobalMouseDown(o

c# - 如何检测 PictureBox 上是否按下了鼠标按钮?

我需要在鼠标位于已单击并按住鼠标按钮的PictureBox上方时触发一个事件。问题:MouseDown和MouseEnter事件处理程序不能很好地协同工作。例如,一旦单击并按住鼠标按钮,C#将触发MouseDown事件处理程序,但是当光标移到PictureBox上时,MouseEnter事件不会触发,直到释放鼠标按钮。 最佳答案 当按下鼠标时,大多数控件将Control.Capture鼠标输入。这意味着所有MouseMove事件都被发送到捕获的原始控件,而不是鼠标恰好位于上方的控件。这一直持续到鼠标失去捕获,这通常发生在鼠标松开时。

c# - 将键盘事件发送到 C# 中不处理 Windows 事件的另一个应用程序

这是我的情况:我们正在编写一个必须将MicrosoftKinect坐标转换为键盘和鼠标事件的应用程序。当我们需要控制鼠标时,在任何类型的应用程序中,一切都按照我们的预期进行。当我们需要将键盘事件(如按下或向上键)发送到不处理Windows事件的应用程序(例如游戏)时,就会出现问题。我们尝试了.net框架的SendKeys类,它只适用于Windows应用程序。当应用程序是像《半条命》或《毁灭战士》这样的游戏时,我们无法获得相同的效果。那么,这是我的问题:我们如何才能有效地将键盘事件发送到这些其他应用程序? 最佳答案 您需要使用Send

c# - 将鼠标移动到位置并左键单击

我正在使用C#、Framework4(32位)开发Windows窗体应用程序。我有一个包含鼠标坐标的列表,我可以捕获它们。到目前为止一切顺利。但在某些时候,我想转到那些坐标并用鼠标左键单击它。现在是这样的:for(inti=0;i还有点击类:classClicking{privateconstUInt32MOUSEEVENTF_LEFTDOWN=0x0002;privateconstUInt32MOUSEEVENTF_LEFTUP=0x0004;privatestaticexternvoidmouse_event(UInt32dwFlags,//motionandclickoption

c# - 如何在 C# 中检查鼠标是否移动,同时鼠标左键按下

我需要找到一种方法来检查鼠标是否在c#中移动,同时左键按下。 最佳答案 这是一个示例(WPF):publicMainWindow(){InitializeComponent();this.MouseMove+=newMouseEventHandler(MainWindow_MouseMove);}voidMainWindow_MouseMove(objectsender,MouseEventArgse){if(e.LeftButton==MouseButtonState.Pressed){//dosomething}}

c# - 捕获表单外的鼠标/键盘事件(在后台运行的应用程序)

我有一个在后台运行的应用程序(最小化/任务栏)。我需要能够检测鼠标事件(点击、移动)以及键盘事件。考虑到我的窗口没有“聚焦”的限制,最好的方法是什么? 最佳答案 看看这个图书馆globalmousekeyhook.它是100%托管的c#代码,用于安装全局鼠标和键盘Hook。它将低级Hook包装到常见的Windows窗体键盘和鼠标事件中。 关于c#-捕获表单外的鼠标/键盘事件(在后台运行的应用程序),我们在StackOverflow上找到一个类似的问题: htt

c# - 如何像这个程序一样在 Windows 中覆盖最大 32x32 鼠标大小

我希望我的程序能够覆盖32x32的最大鼠标尺寸,就像附图中的程序一样,图中的光标是72x72。这是来自ProcMon的捕获,显示了光标更改时发生的情况。但是,如果我尝试自己更改游标文件的注册表值,然后使用推送更改SystemParametersInfo(SPI.SPI_SETCURSORS,0,IntPtr.Zero,SPIF.SPIF_SENDCHANGE);然后光标会改变,但它仍然限制在32x32的最大尺寸。这个程序是如何绕过这个限制的?此外,光标在程序结束后仍然存在,因此它不能在运行时执行某些操作,但必须覆盖某处的设置。谢谢你的帮助,我在网上找不到这样的东西,所以我什至不知道是否

c# - 如何获取数组的所有子集?

给定一个数组:[dog,cat,mouse]什么是最优雅的创建方式:[,,][,,mouse][,cat,][,cat,mouse][dog,,][dog,,mouse][dog,cat,][dog,cat,mouse]我需要它适用于任何大小的数组。这本质上是一个二进制计数器,其中数组索引代表位。这大概让我可以使用一些按位运算来计数,但我看不到将其转换为数组索引的好方法。 最佳答案 优雅?为什么不对其进行Linq。publicstaticIEnumerable>SubSetsOf(IEnumerablesource){if(!sou