Cómo usar VB para buscar y encontrar colores dentro de un rango específico...Código fuente
La opción explícita
define un POINTAPI.
El tipo privado POINTAPI
x es tan largo como
Siempre que
el tipo final
defina un Área de búsqueda de colores.
RECT privado
El lado izquierdo es la coordenada del área larga x
"La parte superior tiene la misma longitud" coordenada del área y
"Derecha y así sucesivamente Ancho del área "larga"
Altura del área "tan larga como la inferior"
Tipo final
Declaración API de Windows
La función de declaración privada GetCursorPos Lib "usuario 32" (punto LP como POINTAPI) es larga
declara de forma privada la función GetDC Lib "usuario 32" (ByVal hWnd As Long) es larga
declara de forma privada la función GetPixel Lib "gdi32" (ByVal hDC es Long, ByVal x es Long, ByVal y es Long) Pruebe la función de color para Long y devuelva la posición de las coordenadas según el valor de cualquier área de búsqueda de color en la pantalla.
Función privada ifColor (x es RECT, ByVal es Long) es POINTAPI
Continuar con el siguiente paso cuando ocurre un error
Dim nTmpColor tiene la misma longitud , I tiene la misma longitud, j Misma longitud
Para i = x.Left a x.Left + x.Right
Para j = x.Top a x.Top + x .Bottom
nTmpColor = GetPixel(GetDC(0), I, j)
Si color = nTmpColor, entonces
ifColor.x = i
ifColor.y = j
Salir de la función
Terminará si...
Varias actividades
Entonces p>
Entonces
p>Finalizar función
Subcomando privado1_Click()' La búsqueda en color en pantalla completa lleva mucho tiempo.
La dimensión t es el punto API, m es RECT
con m
. Arriba = 0
. izquierda = 0
. abajo = pantalla. altura/pantalla. TwipsPorPixelY
. derecha = pantalla. ancho/pantalla. TwipsPerPixelX
Termina con...
t = ifColor(m, 1447073)
Depurar. Imprimir hora, fecha
Fin de empalmes
Subcomando privado2_Click()' Dedique menos tiempo a buscar colores en un área.
La dimensión t es el punto API, m es RECT
con m
. Arriba = 300
. Izquierda = 300
. Abajo = 100
. right = 100
Termina con...
t = ifColor(m, RGB(0, 125, 125))
Depurar. Imprimir hora, fecha
Conector final