这几天搞了一个Form小程序, 用到了几个winapi,记录一下
程序功能:
1.取得鼠标所在点的坐标及颜色
2.取得鼠标所在点的控件(或窗口)的location属性等
实现概要:
取得鼠标所在点的坐标有很多种方式, c#有一种方式:
Point p = Cursor.Position;
这种方式不好在于它只能取Form内的位置,当鼠标在form外就不好使了。这个时候user32下的GetCursorPos(ref Point) 就管用了, 返回值是bool, 成功true, 失败false
取得鼠标坐标就可以用gdi32下的GetPixel取颜色了
通过鼠标坐标也可以取得当前点下的控件了(windows beneath the cursor)。使用的是user32的GetWindowInfo(IntPtr HWND,ref WINDOWINFO),后面的参数可以自定义(struct)。