Pregunta: | 19538 - NEED 1 FUNC QUE ME DE EL COLOR DE CUALQUIER POSI DEL MONITOR |
Autor: | Hugo Mat |
Estoy programando en Visual Basic 5
Necesito una función que me devuelva el color que se esta presentando en ese momento en el monitor. COLOR = DAMECOLOR(x,y) Por ejemplo: -la posición (1,1) es el borde de mi ventana, entonces me devuelve gris. -la posición (20,790) es la parte roja del icono de microsoft en el menu de inicio, entonces me devuelve rojo. - la posición (300,260) me devuelve azul porque es el grafico del escritorio de mi computadora con nueves y un cielo azul. Muchas gracias... |
Respuesta: | Javier Perez |
Incluye las siguientes declaraciones en un módulo:
Public Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long Public Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long Public Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long La función que necesitas es la siguiente: Public Function DameColor(ByVal X As Integer, ByVal Y As Integer) As Long Dim hdc As Long Dim color As Long hdc = GetDC(0) color = GetPixel(hdc, X, Y) ReleaseDC 0, hdc DameColor = color End Function |