请问怎么调用api获取屏幕某种颜色的坐标(只能截图后再查找嘛?),然后将其写入文本框中,用setcursorpos获取(只能自己填入坐标,不能直接获取嘛?),不写入文本框直接获取也行,谢谢(学校在学,学点课外的(„ಡωಡ„)栓Q)
1条回答 默认 最新
- GPT_Pro 2023-02-24 21:33关注
该回答内容部分引用GPT,GPT_Pro更好的解决问题
Visual Basic 6 可以调用 Windows API 来获取屏幕某种颜色的坐标,并将其写入文本框中,或者不写入文本框,直接获取。首先要在 Visual Basic 中声明 Windows API,然后再调用它们。声明 API 常数:
Private Declare Function GetPixel Lib "gdi32" _ (ByVal hdc As Long, ByVal X As Long, _ ByVal Y As Long) As Long Private Const SRCCOPY = &HCC0020
声明 API 函数:
Private Declare Function GetDC Lib "user32" _ (ByVal hwnd As Long) As Long
声明其它函数:
Private Declare Function ReleaseDC Lib "user32" _ (ByVal hwnd As Long, ByVal hdc As Long) As Long
声明变量:
Dim lngScreenDC As Long Dim lngColor As Long Dim lngX As Long, lngY As Long Dim intRed As Integer, intGreen As Integer Dim intBlue As Integer
然后就可以使用 Windows API 来获取屏幕某种颜色的坐标了:
lngScreenDC = GetDC(0&) lngX = 10: lngY = 10 lngColor = GetPixel(lngScreenDC, lngX, lngY) intRed = (lngColor And &HFF0000) \ &H10000 intGreen = (lngColor And &HFF00) \ &H100 intBlue = lngColor And &HFF ReleaseDC 0&, lngScreenDC
上面的代码可以获取屏幕上指定坐标 (10, 10) 处的颜色信息 (RGB 值),我们可以将这些颜色信息写入文本框中:
Text1.Text = intRed & "," & intGreen & "," & intBlue
或者不写入文本框,直接使用 SetCursorPos 设置光标位置:
SetCursorPos intRed, intGreen, intBlue
总而言之,Visual Basic 6 可以通过 Windows API 获取屏幕某种颜色的坐标(RGB 值),并将其写入文本框中或者直接设置光标位置。
如果回答有帮助,望采纳。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥30 Unity接入微信SDK 无法开启摄像头
- ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
- ¥20 cad图纸,chx-3六轴码垛机器人
- ¥15 移动摄像头专网需要解vlan
- ¥20 access多表提取相同字段数据并合并
- ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
- ¥20 Java-Oj-桌布的计算
- ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
- ¥20 有人知道这种图怎么画吗?
- ¥15 pyqt6如何引用qrc文件加载里面的的资源