我想楼主是搞外挂吧,我现在想搞个后台,不是针对Z轴的前后后台,而是指在屏幕指定区域外的后台,如从-1000,0到0,1024的范围内找图,不知哪位高人可以指点一二. LZ我给你发个在当前屏幕指定区域查找图吧,不过这在屏幕外就不能用了, 1 VB里引用 那个QMDispatch.dll 2 在系统中用regsvr32命令注册 DLL 那个HELPER.DLL和WinIo.dll放在同一个地方,否则注册不了成功 Private Declare Function FindPic Lib "QMDispatch" () As Long dim a as long Public QMDispatchObj As Object 在FORM中引用 Set QMDispatchObj = CreateObject("QMDispatch.QMFunction") pos=QMDispatchObj.FindPic (0, 0, 1280, 1024, "E:/工.bmp", 0.9 ) msgbox int(pos/8192)'X左边 msgbox pos MOD 8192 'Y左边
下面的我试了下.RGB全部是255
procedure TForm1.Button1Click(Sender: TObject);
var
point:Tpoint;
MyhDC : HDC;
scrx1,scry1,temp,rr,gg,bb:Integer;
begin
GetCursorPos(point);
scrx1:=point.x;
scry1:=point.y;
//获取到那个点的屏幕坐标,然后
temp := GetPixel(MyhDC,scrx1, scry1);
rr := GetRValue(temp);
gg := GetGValue(temp);
bb := GetBValue(temp);
showmessage(inttostr(rr)+inttostr(gg)+inttostr(bb));
end;
end.
pos: TPoint;
Handle: HWND;
ScreenDC: HDC;
Buf: array[0..1024] of Char;
ScreenColor: COLORREF;
begin
GetCursorPos(Pos);
Handle := WindowFromPoint(Pos);
edit1.Text := IntToStr(Handle);
GetClassName(Handle, Buf, 1024);
edit2.Text := Buf;
SendMessage(Handle, WM_GETTEXT, 33, Integer(@Buf));
edit3.Text := Buf;ScreenDC := GetDC(0);
ScreenColor := GetPixel(ScreenDC, Pos.X, Pos.Y);
//Shape.Brush.Color := TColor(ScreenColor);
edit1.Text := '红: ' + IntToStr(GetRValue(ScreenColor)) +
' 绿: ' + IntToStr(GetGValue(ScreenColor)) + ' 蓝: ' +
IntToStr(GetBValue(ScreenColor));
ReleaseDC(0, ScreenDC);
edit2.Text := Format('Delphi中颜色值:$00%2.2x%2.2x%2.2x', [GetBValue(ScreenColor),
GetGValue(ScreenColor), GetRValue(ScreenColor)]);
LZ我给你发个在当前屏幕指定区域查找图吧,不过这在屏幕外就不能用了,
1 VB里引用 那个QMDispatch.dll
2 在系统中用regsvr32命令注册 DLL
那个HELPER.DLL和WinIo.dll放在同一个地方,否则注册不了成功
Private Declare Function FindPic Lib "QMDispatch" () As Long
dim a as long
Public QMDispatchObj As Object
在FORM中引用
Set QMDispatchObj = CreateObject("QMDispatch.QMFunction")
pos=QMDispatchObj.FindPic (0, 0, 1280, 1024, "E:/工.bmp", 0.9 )
msgbox int(pos/8192)'X左边
msgbox pos MOD 8192 'Y左边