C# 获取鼠标在屏幕中的颜色和位置
来源:互联网 发布:博图软件使用 编辑:程序博客网 时间:2024/06/05 01:19
1.问题思路
想做一个能够获取鼠标的屏幕坐标的程序,最初使用Form的MouseMove事件响应函数,接着问题出现了。由于Form的所有鼠标事件响应函数要求鼠标必须在Form窗体内操作才能触发,而我的要求是鼠标在屏幕上任何位置移动都能显示鼠标的坐标。因此只能另外想别的办法了。
最后借助Timer(计时器)可以很好地解决问题。使用MousePosition获取屏幕坐标,并借助Timer来动态更新显示鼠标坐标。鼠标所在位置的屏幕颜色则通过win32函数来实现。
2.程序演示:
3.CSharp代码:
public Form1() { InitializeComponent(); } [DllImport("user32.dll")]//取设备场景 private static extern IntPtr GetDC(IntPtr hwnd);//返回设备场景句柄 [DllImport("gdi32.dll")]//取指定点颜色 private static extern int GetPixel(IntPtr hdc, Point p); private void Form1_Load(object sender, EventArgs e) { Timer tim = new Timer(); tim.Interval = 1; tim.Tick += tim_Tick; tim.Start(); } private void tim_Tick(object sender, EventArgs e) { Point p = new Point(MousePosition.X, MousePosition.Y);//取置顶点坐标 IntPtr hdc = GetDC(new IntPtr(0));//取到设备场景(0就是全屏的设备场景) int c = GetPixel(hdc, p);//取指定点颜色 int r = (c & 0xFF);//转换R int g = (c & 0xFF00) / 256;//转换G int b = (c & 0xFF0000) / 65536;//转换B pictureBox1.BackColor = Color.FromArgb(r, g, b); this.Text = "(" + p.X + "," + p.Y + ")"; } }
0 0
- C# 获取鼠标在屏幕中的颜色和位置
- c# 获取鼠标对于屏幕的位置
- C#动态获取鼠标位置的颜色
- 获取鼠标在屏幕的位置
- 获取鼠标在世界中的位置
- 获取view在屏幕中的位置
- 获取view在屏幕中的位置
- Android 获取View在屏幕中的位置
- Android~获取view在屏幕中的位置
- Android获取view在屏幕中的位置
- Android 获取view在屏幕中的位置
- 获取view在屏幕中的位置
- Android 获取view在屏幕中的位置
- 获取控件在屏幕中的位置
- Android~获取view在屏幕中的位置
- Android获取View在屏幕中的位置
- Android 获取view在屏幕中的位置
- Android获取view在屏幕中的位置
- JAVA反射机制
- 百度地图(SDK v3.1.1)和百度定位(SDKv4.2)的实现!
- TextView 借助Linkify,使用自定义模式设置链接
- 获取网络图片并显示(并且对于在改变ui等元素必须在andoriod的主线程中)
- MSSQL 加密 使用 sys.fn_VarBinToHexStr() hashbytes()
- C# 获取鼠标在屏幕中的颜色和位置
- iOS国际化
- ALSA声卡驱动一之ALSA架构简介
- php获取用户IP的三种方式的区别
- 善用VS中的Code Snippet来提高开发效率
- liu xiong hui
- Lua变量生命周期
- I2C上拉电阻问题
- hadoop 2.2.0安装开发环境(单机伪分布模式)