当前位置:编程学习 > VB >>

取屏幕上一个点颜色的问题,高手请来帮忙谢谢

我自己编了个程序想控制另外一个外部程序,我根据外部程序的一个按钮的是否可用来判断外部程序的操作

是否完成,利用外部程序的一个按钮的边框上的一个点是否黑色来判断,如果是黑色就说明可用(即外部程

序任务完成),否则不可用接着我的程序执行后续操作,非常奇怪的是这个程序win7下执行都正确的,但是

到了xp下,对方的按钮那个点没有变成黑色我的程序却取到了黑色的点退出了循环,那个点的坐标我测试了

都没问题的。请问高手这个到底什么原因。谢谢


Do Until Splitfinish()
  DoEvents
  Sleep 1000
Loop



Private Function Splitfinish()
Dim p As RECT
Dim a As Long
hwd = FindWindow("GMapTool.exe", "GMapTool")
GetWindowRect hwd, p
a = CreateDCA("DISPLAY", vbNullString, vbNullString, 0)
If Ver.OsName = "Windows XP" Then
  If GetPixel(a, p.Left + 30, p.Top + 94) = 0 Then
  Splitfinish = True
  Else
  Splitfinish = False
  End If
ElseIf Ver.OsName = "Win7" Then
  If GetPixel(a, p.Left + 30, p.Top + 94) = 0 Then
  Splitfinish = True
  Else
  Splitfinish = False
  End If
End If
DeleteDC a
End Function --------------------编程问答-------------------- --------------------编程问答-------------------- xp和win7之间颜色的配置模式好像有一点差别,具体不是很清楚,不过控制外部控件,最好是获取控件句柄然后进行控制
http://zgmgypb.blog.163.com/blog/static/962028192012312281197/


你结贴率0,都回复的有点冤……
补充:VB ,  API
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,