zjm121221 2023-04-08 08:57 采纳率: 7.4%
浏览 54
已结题

vb6.0如何获取程序窗口指定坐标的像素值

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函数将窗口还原到正常状态

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月12日
  • 创建了问题 4月8日

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测