var
WinHwnd : Hwnd;begin
WinHwnd := FindWindow(nil,'调试程序');
self.Edit1.Text:= IntToStr(GetPixel(GetDC(GetWindow(WinHwnd,GW_HWNDFIRST)),9,11));
end;我想获取某个指定窗口相对坐标的像素点..SPY++坐标抓的没问题..但是获取一直都是#FFFFFF

解决方案 »

  1.   

    坐标值我用别的软件获取可以获取..句柄我是通过FindWindow这个API来获取的..然后我用GetWindow想获取前置的窗口.获取DC 然后用GetPixel这个函数来获取这个值.但是他获取的是错误的.跟上面的值是有出入的. 我在Form上 用的一个Imge的空间来载入图品的...我尝试用SPY++获取句柄.但是获取不到..我就像从窗体上进行查找.. 但是返还的是错误的值..
      

  2.   

    代码看不出问题,窗口句柄找得对不对?
    可以分开写,调试一下var
      WinHwnd: Hwnd;
      HValue: LongWord;
    begin
    //  WinHwnd := FindWindow(nil,'调试程序');
    //  WinHwnd := FindWindow(nil, '未命名 - 画图');
      WinHwnd := FindWindow(nil, '计算器');
    //  Edit1.Text:= IntToStr(GetPixel(GetDC(GetWindow(WinHwnd,GW_HWNDFIRST)),9,11));  HValue := GetWindow(WinHwnd,GW_HWNDFIRST);  HValue := GetDC(HValue);  Memo1.Lines.Add(IntToStr(GetPixel(HValue, 9, 11)));