vb6.0如何获取程序窗口指定坐标的像素值,即使程序窗口最小化,也将获取程序窗口指定坐标的像素值。而不是获取电脑桌面这个坐标的像素值。
5条回答 默认 最新
- 语言-逆行者 2023-04-08 09:19关注
基于new Bing的回答:
以下是获取程序窗口指定坐标的像素值的VB6.0代码:
声明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 Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
获取程序窗口的句柄
Dim hwnd As Long hwnd = FindWindow(vbNullString, "程序窗口的标题")
获取程序窗口的设备上下文句柄
Dim hdc As Long hdc = GetDC(hwnd)
获取指定坐标的像素值
Dim pixel As Long pixel = GetPixel(hdc, x, y)
释放程序窗口的设备上下文句柄
ReleaseDC hwnd, hdc
完整代码如下:
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 Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long Private Sub Command1_Click() Dim hwnd As Long hwnd = FindWindow(vbNullString, "程序窗口的标题") If hwnd = 0 Then MsgBox "未找到程序窗口" Exit Sub End If Dim hdc As Long hdc = GetDC(hwnd) Dim x As Long, y As Long x = 100 y = 100 Dim pixel As Long pixel = GetPixel(hdc, x, y) ReleaseDC hwnd, hdc MsgBox "像素值为:" & pixel End Sub
需要注意的是,如果程序窗口最小化了,可以使用IsIconic函数来判断窗口是否最小化,如果最小化了,可以使用ShowWindow函数将窗口还原到正常状态
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测