(VB) Cómo obtener el valor de color de un determinado punto en la pantalla
Categoría: Computadora/Red >> Programación >> Otros lenguajes de programación
Descripción del problema:
Si tiene alguna pregunta, solicite ayuda a expertos.
Escribí el programa en vb~
Espero que puedas darme el código
Análisis:
La persona de arriba está siguiendo el script, el error es simple
Simple, primero use WindowsFromPoint para obtener la ventana HWND
Luego use GetDC para obtener hDC
Luego use GetPixel.
Te doy un proceso que completa el cambio del color de fondo de la ventana al color señalado por el mouse:
En caso de error, Reanudar siguiente
Atenuar p como POINTAPI
p>GetCursorPos p
Dim h As Long, dc As Long
h = WindowFromPoint(p.x, p.y)
ScreenToClient h, p< / p>
dc = GetDC(h)
Me.BackColor = GetPixel(dc, p.x, p.y)
La función se declara de la siguiente manera:
Función de declaración privada WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
Función de declaración privada GetDC Lib "user32" (ByVal hwnd As Long) As Long
Función de declaración privada GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Función de declaración privada GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
p>Función de declaración privada ScreenToClient Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
Tipo privado POINTAPI
x As Long
y As Long
Tipo final