请先看下面这小段代码:
var
  CurDC: HDC;
  CurPoint: TPoint;
  Color: TColor;
begin
  CurDC := GetDC(0);
  if CurDC <> NULL then
  try
    GetCursorPos(CurPoint);
    Color := GetPixel(CurDC,473,305);
    Panel1.Color:=Color;
    Edit1.Text := '$'+IntToHex(Color, 8);
  finally
    ReleaseDC(0, CurDC);
  end;end;
这个可以取到鼠标当前点的颜色。
我的问题:取记事本窗口的指定点的颜色值,前提是这个记事本已经最小化了!!
请朋友们帮帮我,感激不尽!!!

解决方案 »

  1.   

    有朋友说记事本程序最小化后,窗口已经销毁,但那时却可以接收我用postmessage发过去的鼠标及键盘按键消息,而且在最小化的窗口中的鼠标及键盘按键时,不会影响到前台鼠标及键盘,所以我觉得应该有办法取出最小化程序的指定点的颜色的,还请朋友们指教!
    -----在下问这个问题,并非没事找事,确是有应用之用,请朋友们帮帮俺,谢谢!!!
      

  2.   

    Postmessage(hwindow,WM_MOUSEMOVE,0,MakeLong(320,184));
    当我发上面这个消息给最小化后的记事本程序时,是可以让鼠标移到那个看不见的窗口指定处(320,184)的,这个已经测试过了,说明那个窗口应该还在,并未销毁
    请帮我,谢谢
      

  3.   

    用上面的代码是无法实现你说的功能,我也没看见有这样的软件
    因为 CurDC := GetDC(0);总是桌面的dc,记事本隐藏了,就不在桌面上了
    不过可以先将隐藏前记事本的图拍下来,自己对要抓的点进行坐标转换,然后取颜色
      

  4.   

    >>我的问题:取记事本窗口的指定点的颜色值,前提是这个记事本已经最小化了!!
    >>请朋友们帮帮我,感激不尽!!!
    這個取色跟你提供的代碼根本是不同的實現原理! 難!
      

  5.   

    我做个游戏辅助程序,自动加血的(由于用WPE取不取封包),所以只有取颜色判断当前状态,但那个游戏只能是最小化的(不必说明原因了吧),请帮帮俺~~~~
      

  6.   

    SOS SOS   SOS  SOS ~~~~~~~~~~~~~~~~~~~~~~