Option Explicit
Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
X As Long
y As Long
End Type
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Private Const MOUSEEVENTF_LEFTDOWN = &H2
Private Const MOUSEEVENTF_LEFTUP = &H4
Private Const MOUSEEVENTF_MIDDLEDOWN = &H20
Private Const MOUSEEVENTF_MIDDLEUP = &H40
Private Const MOUSEEVENTF_MOVE = &H1
Private Const MOUSEEVENTF_ABSOLUTE = &H8000
Private Const MOUSEEVENTF_RIGHTDOWN = &H8
Private Const MOUSEEVENTF_RIGHTUP = &H10
Private Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetDesktopWindow Lib "user32" () 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 GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private 电脑 Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const VK_ADD As Long = &H6B '加号键
Private Const VK_APPS As Long = &H5D 'Applications 键(相当于鼠标右键)
Private Const VK_BACK As Long = &H8 'BackSpace 键
Private Const VK_CAPITAL As Long = &H14 'Caps Lock 键(大小写转换键)
Private Const VK_CANCEL As Long = &H3 'Ctrl + Break 过程
Private 电脑 Const VK_CONTROL As Long = &H11
Private Const VK_DECIMAL As Long = &H6E '小数点号键
Private Const VK_DELETE As Long = &H2E
Private Const VK_DIVIDE As Long = &H6F '除号键
Private Const VK_DOWN As Long = &H28
Private Const VK_END As Long = &H23
Private Const VK_ESCAPE As Long = &H1B
Private Const VK_F1 As Long = &H70
Private Const VK_F10 As Long = &H79
Private Const VK_F11 As Long = &H7A
Private Const VK_F12 As Long = &H7B
Private Const VK_F2 As Long = &H71
Private Const VK_F3 As Long = &H72
Private Const VK_F4 As Long = &H73
Private Const VK_F5 As Long = &H74
Private Const VK_F6 As Long = &H75
Private Const VK_F7 As Long = &H76
Private Const VK_F8 As Long = &H77
Private Const VK_F9 As Long = &H78
Private Const VK_HOME As Long = &H24
Private Const VK_INSERT As Long = &H2D
Private Const VK_LCONTROL As Long = &HA2
Private Const VK_LEFT As Long = &H25
Private Const VK_LMENU As Long = &HA4 '左 Alt 键
Private Const VK_LSHIFT As Long = &HA0
Private Const VK_LWIN As Long = &H5B
Private Const VK_MENU As Long = &H12 'Alt 键
Private Const VK_MULTIPLY As Long = &H6A '乘号键
Private Const VK_NEXT As Long = &H22 '下翻页键
Private Const VK_NUMLOCK As Long = &H90
Private Const VK_NUMPAD0 As Long = &H60
Private Const VK_NUMPAD1 As Long = &H61
Private Const VK_NUMPAD2 As Long = &H62
Private Const VK_NUMPAD3 As Long = &H63
Private Const VK_NUMPAD4 As Long = &H64
Private Const VK_NUMPAD5 As Long = &H65
Private Const VK_NUMPAD6 As Long = &H66
Private Const VK_NUMPAD7 As Long = &H67
Private Const VK_NUMPAD8 As Long = &H68
Private Const VK_NUMPAD9 As Long = &H69
Private Const VK_PAUSE As Long = &H13
Private Const VK_PRINT As Long = &H2A
Private Const VK_PRIOR As Long = &H21 '上翻页键
Private Const VK_RCONTROL As Long = &HA3
Private Const VK_RETURN As Long = &HD '回车键
Private Const VK_RIGHT As Long = &H27
Private Const VK_RMENU As Long = &HA5 '右 Alt 键
Private Const VK_RSHIFT As Long = &HA1
Private Const VK_RWIN As Long = &H5C
Private Const VK_SCROLL As Long = &H91 'Scroll Lock 键
Private Const VK_SEPARATOR As Long = &H6C '小键盘上的回车键
Private Const VK_SHIFT As Long = &H10
Private Const VK_SLEEP As Long = &H5F '休眠键
Private Const VK_SNAPSHOT As Long = &H2C 'Print Screen 键
Private Const VK_SPACE As Long = &H20
Private Const VK_SUBTRACT As Long = &H6D '减号键
Private Const VK_TAB As Long = &H9
Private Const VK_UP As Long = &H26
Private Const VK_OEM_1 As Long = &HBA 'Windows 2000:对于 US 标准键盘,是“;:”键
Private Const VK_OEM_2 As Long = &HBF 'Windows 2000:对于 US 标准键盘,是“/?”键
Private Const VK_OEM_3 As Long = &HC0 'Windows 2000:对于 US 标准键盘,是“`~”键
Private Const VK_OEM_4 As Long = &HDB 'Windows 2000:对于 US 标准键盘,是“[{”键
Private Const VK_OEM_5 As Long = &HDC 'Windows 2000:对于 US 标准键盘,是“\|”键
Private Const VK_OEM_6 As Long = &HDD 'Windows 2000:对于 US 标准键盘,是“]}”键
Private Const VK_OEM_7 As Long = &HDE 'Windows 2000:对于 US 标准键盘,是“单/双引号”键
Private Const VK_OEM_COMMA As Long = &HBC 'Windows 2000:对于任何国家/地区,是“,”键
Private Const VK_OEM_MINUS As Long = &HBD 'Windows 2000:对于任何国家/地区,是“-”键
Private Const VK_OEM_PERIOD As Long = &HBE 'Windows 2000:对于任何国家/地区,是“.”键
Private Const VK_OEM_PLUS As Long = &HBB 'Windows 2000:对于任何国家/地区,是“+”键
Private Const KEYEVENTF_KEYUP = &H2
Dim AA As Long
Dim MouseCurpos As POINTAPI
Dim Pcolor As Long
Dim R As Long, G As Long, B As Long
Dim s As String
Dim hwd As Long
Private Sub Command1_Click()
SetCursorPos CLng(Text1.Text), CLng(Text2.Text)
End Sub
Private Sub Command2_Click()
GetCursorPos MouseCurpos
Text3.Text = "鼠标位置为: " + CStr(MouseCurpos.X) + "- -" + CStr(MouseCurpos.y)
Timer2.Enabled = True
End Sub
Private Sub Command3_Click()
Sleep 500
SetCursorPos 292, 437
mouse_event MOUSEEVENTF_LEFTDOWN, 292 * 65536 / 1920, 437 * 65536 / 1080, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 292 * 65536 / 1920, 437 * 65536 / 1080, 0, 0
Sleep 500
keybd_event Asc("V"), 0, 0, 0 '模拟回车
Sleep 200
keybd_event Asc("V"), 0, KEYEVENTF_KEYUP, 0 '撤消回车
Sleep 300
keybd_event Asc("B"), 0, 0, 0 '模拟回车
Sleep 200
keybd_event Asc("B"), 0, KEYEVENTF_KEYUP, 0 '撤消回车
Sleep 300
keybd_event Asc("F"), 0, 0, 0 '模拟回车
Sleep 200
keybd_event Asc("F"), 0, KEYEVENTF_KEYUP, 0 '撤消回车
Sleep 300
keybd_event Asc("O"), 0, 0, 0 '模拟回车
Sleep 200
keybd_event Asc("O"), 0, KEYEVENTF_KEYUP, 0 '撤消回车
Sleep 300
keybd_event Asc("R"), 0, 0, 0 '模拟回车
Sleep 200
keybd_event Asc("R"), 0, KEYEVENTF_KEYUP, 0 '撤消回车
Sleep 300
keybd_event Asc("M"), 0, 0, 0 '模拟回车
Sleep 200
keybd_event Asc("M"), 0, KEYEVENTF_KEYUP, 0 '撤消回车
Sleep 300
keybd_event Asc("8"), 0, 0, 0 '模拟回车
Sleep 200
keybd_event Asc("8"), 0, KEYEVENTF_KEYUP, 0 '撤消回车
' Sleep 1000
'
' keybd_event VK_F1, 0, 0, 0 '模拟回车
' Sleep 500
' keybd_event VK_F1, 0, KEYEVENTF_KEYUP, 0 '撤消回车
'
End Sub
Private Sub Command4_Click()
Sleep 500
SetCursorPos 291, 593
'1920 和1080 为自己电脑屏幕的最大像素
mouse_event MOUSEEVENTF_LEFTDOWN, 291 * 65536 / 1920, 593 * 65536 / 1080, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 291 * 65536 / 1920, 593 * 65536 / 1080, 0, 0
'
Sleep 500
SetCursorPos 362, 593
'1920 和1080 为自己电脑屏幕的最大像素
mouse_event MOUSEEVENTF_LEFTDOWN, 362 * 65536 / 1920, 593 * 65536 / 1080, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 362 * 65536 / 1920, 593 * 65536 / 1080, 0, 0
'
'
''
Sleep 500
SetCursorPos 434, 593
'1920 和1080 为自己电脑屏幕的最大像素
mouse_event MOUSEEVENTF_LEFTDOWN, 434 * 65536 / 1920, 593 * 65536 / 1080, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 434 * 65536 / 1920, 593 * 65536 / 1080, 0, 0
'
Sleep 800
SetCursorPos 515, 593
Sleep 500
'1920 和1080 为自己电脑屏幕的最大像素
mouse_event MOUSEEVENTF_LEFTDOWN, 515 * 65536 / 1920, 593 * 65536 / 1080, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 515 * 65536 / 1920, 593 * 65536 / 1080, 0, 0
End Sub
Private Sub Timer2_Timer()
Text3.Text = ""
AA = GetDC(0)
Pcolor = GetPixel(AA, CStr(MouseCurpos.X), CStr(MouseCurpos.y))
R = Pcolor And &HFF
G = (Pcolor And 65280) / 256
B = (Pcolor And &HFF0000) / 65536
Text5.BackColor = Pcolor
GetCursorPos MouseCurpos
Text3.Text = "鼠标位置为: " + CStr(MouseCurpos.X) + "- -" + CStr(MouseCurpos.y) & " RGB=>" & R & " + " & G & " + " & B
End Sub
电脑