(VB)如何取得屏幕上某一点的颜色值

来源:百度知道 编辑:UC知道 时间:2024/05/24 12:13:06
如题,请高手帮忙
我用vb写的程序~
希望能给出代码

楼上照本宣科,错误
简单,先用WindowsFromPoint获得窗口HWND
再用GetDC获得hDC
再用GetPixel即可。

我给出一个过程,该过程完成将窗口背景色改为鼠标指向的颜色:

On Error Resume Next
Dim p As POINTAPI
GetCursorPos p
Dim h As Long, dc As Long
h = WindowFromPoint(p.x, p.y)
ScreenToClient h, p
dc = GetDC(h)
Me.BackColor = GetPixel(dc, p.x, p.y)

函数声明如下:
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function ScreenToClient Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long

Private Type POINTAPI
x As Long
y As Long