首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

为什么获取不到 QQ宠物 的前景色解决思路

2012-03-18 
为什么获取不到 QQ宠物 的前景色使用API函数 GetDC,SetCapture,GetCursorPos 及 mm_color GetPixel(hdc,

为什么获取不到 QQ宠物 的前景色
使用API函数 GetDC,SetCapture,GetCursorPos 及 mm_color = GetPixel(hdc,Int(X_X),Int(Y_Y))
获取屏幕鼠标所在点的颜色, 发现桌面/网页/窗体的任意点颜色都能正常取得,
但 QQ宠物(就那个会做操的小企鹅)的颜色却不能得到,
只获得了被宠物遮挡的原背景颜色,不明白,是不是应该处理一下 设备场景之类的东西(我不太懂!!!猜测...),
望路过的高人指点一下...

VFP部分代码:

以下代码: (自定义表单INIT)

 

Declare integer GetCursorPos IN win32api string 
DECLARE INTEGER SetCursorPos IN WIN32API INTEGER dx,INTEGER dy

DECLARE INTEGER GetPixel IN WIN32API INTEGER hDC,INTEGER xx,INTEGER yx
DECLARE INTEGER GetDC IN user32 INTEGER hwnd 

DECLARE INTEGER SetCapture IN user32 INTEGER hwnd 
DECLARE INTEGER GetCapture IN user32 INTEGER hwnd 

 

PUBLIC hdc

hdc=GetDC(0)
SetCapture(hdc)

 

(按钮事件)

DO WHILE .T. && 显示鼠标坐标及颜色
 p1=Repl(Chr(0),8)
 GetCursorPos(@p1)
 Dime num[8]
 For i=1 To 8
  Trans(Asc(Substr(p1,i,1)),"@0")
  num[i]=Right(Trans(Asc(Substr(p1,i,1)),"@0"),2)
 Endfor
 X_X=Val("0x"+num[4]+num[3]+num[2]+num[1])
 Y_Y=Val("0x"+num[8]+num[7]+num[6]+num[5])
 mm_color = GetPixel(hdc,Int(X_X),Int(Y_Y))  
  thisform.Caption = 'QQ 吹泡泡 '+ 'X='+ALLTRIM(STR(Int(X_X),5))+' '+'Y='+ALLTRIM(STR(Int(Y_Y),5))+' Color='+STR(mm_color) 
 IF INT(X_X)<10 AND INT(Y_Y)<10
  EXIT
 ENDIF 
ENDDO 
 



[解决办法]
你让“QQ宠物”别乱动肯定能获取到!
[解决办法]
你用其他取色软件(网上很多的),试试能否取到颜色。
[解决办法]
X_X=Val("0x"+num[4]+num[3]+num[2]+num[1])
 Y_Y=Val("0x"+num[8]+num[7]+num[6]+num[5])
 mm_color = GetPixel(hdc,Int(X_X),Int(Y_Y))
thisform.Caption = 'QQ 吹泡泡 '+ 'X='+ALLTRIM(STR(Int(X_X),5))+' '+'Y='+ALLTRIM(STR(Int(Y_Y),5))+' Color='+STR(mm_color)
 IF INT(X_X)<10 AND INT(Y_Y)<10
出错啦。。。。。哈哈

热点排行