问题描述
大神在哪里我想监视屏幕指定的区域如果区域发生改变那么程序自动按空格或者点击鼠标举例比如监视的区域为桌面的某一个图标当鼠标移到这个图标的时候这个图标会自动改变背景颜色那么立即按空格或者点击鼠标左键要求就是要快程序反应越快越好只要代码谢谢
解决方案
解决方案二:
publicBitmapGetScreenBmp(Rectanglerect){BitmapscreenBmp=newBitmap(rect.Width,rect.Height);using(Graphicsg=Graphics.FromImage(screenBmp)){g.CopyFromScreen(rect.X,rect.Y,0,0,rect.Size);Cursor.Current.Draw(g,newRectangle(Cursor.Position.X,Cursor.Position.Y,33,33));}returnscreenBmp;}
以上是截屏的代码,可以截屏然后判断像素是否改变不过如果你只想判断鼠标是否进入某一区域,直接获取Cursor.Position.X,Cursor.Position.Y,判断是否在你定义的区域内就好了
解决方案三:
奇葩需求。如果是我ctrl+a呢
解决方案四:
我的要求是从区域发生改变时到我程序自动按空格或者点击鼠标整个一个过程差不多200毫秒以下
解决方案五:
引用2楼wawd74520的回复:
奇葩需求。如果是我ctrl+a呢
这个也算只要是监视的区域发生了改变立马执行自动按空格或者点击鼠标
解决方案六:
一个区域不断找图。然后用Keybd_event
解决方案七:
引用3楼z474243930的回复:
我的要求是从区域发生改变时到我程序自动按空格或者点击鼠标整个一个过程差不多200毫秒以下
做个线程,死循环去检测呗.如果你只是判断鼠标位置,每秒执行几千次也不是问题如果你要解析图像,可能能慢一点,不过每秒解析20次也不是问题
解决方案八:
引用5楼wawd74520的回复:
一个区域不断找图。然后用Keybd_event
首先谢谢你的回答不过不知道你看没看到我的问题我猜你是没有看到
解决方案九:
引用6楼Z65443344的回复:
Quote: 引用3楼z474243930的回复:
我的要求是从区域发生改变时到我程序自动按空格或者点击鼠标整个一个过程差不多200毫秒以下做个线程,死循环去检测呗.如果你只是判断鼠标位置,每秒执行几千次也不是问题如果你要解析图像,可能能慢一点,不过每秒解析20次也不是问题
要求不知道你明白了没有举例比如我看电影了我把电影暂停了监视的区域也是我电影的部分当我点击播放的时候画面肯定会变动那么我的程序需要立即按空格这样我的电影就又暂停了还有我要的是代码我要的是代码我要的是代码我要的是代码我要的是代码
解决方案十:
截屏的代码已经给你了剩下的就是判断上一次截取的和这一次截取的一样不一样不就得了如果你连判断是否一样和控制鼠标键盘按下的整套代码都要,那代码可多了你不如上猪八戒花50RMB求一个
解决方案十一:
引用9楼Z65443344的回复:
截屏的代码已经给你了剩下的就是判断上一次截取的和这一次截取的一样不一样不就得了如果你连判断是否一样和控制鼠标键盘按下的整套代码都要,那代码可多了你不如上猪八戒花50RMB求一个
别闹截屏代码一小点二进制对比图片一小点按键也是一小点这些方法我都试过了慢
解决方案十二:
我昨天做了一个放大镜类似的功能,我想有什么方法可以直接检测区域内是否有发生变化。如果没有人知道我想我还是用md5对比应该快点,二进制还是感觉慢
解决方案十三:
MD5不会比二进制快除非你MD5不是动态计算,而是已经计算好的
解决方案十四:
还是不能理解你的需求。或许说直白点比较好。
解决方案十五:
请教做外挂的去吧
解决方案:
说了这么多你还没明白啊。。。再举例。有些小游戏是测试反应速度,当页面发生变化事迅速点击鼠标左键。别的方法先不考虑,我想先用监视的方法,因为这个不会,就是用桌面区域监视的方法,如果区域发生改变,就点击鼠标左键