用C语言写的sdk小程序(平台是VC2005)。
目的是从当前屏幕截取一块区域写入内存,并从内存中读取某一点的颜色信息。
代码如下:
int ququyucunruneicun()
{
BYTE tempxiangsuzhi=0;                                                //定义一个临时像素值变量。
BITMAPINFO weitujiegou01;
int *ppv01=NULL;
HDC dangqianjubing=GetDC(0)                               ;//将当前环境句柄赋予一个常量。
HDC cuntujubing=CreateCompatibleDC(dangqianjubing);//建立一个与当前显示器兼容的环境句柄。
HBITMAP timeneicun01 = CreateDIBSection(cuntujubing, & weitujiegou01, DIB_RGB_COLORS,(void 
**)&ppv01, NULL, 0);//定义一个位图,
SelectObject(cuntujubing, timeneicun01);
BitBlt(cuntujubing,0,0,30,30,dangqianjubing,200,200,SRCCOPY);
tempxiangsuzhi=weitujiegou01.bmiColors[1].rgbRed;
ReleaseDC(0, dangqianjubing);
ReleaseDC(0, cuntujubing);
return tempxiangsuzhi;
}
程序编译通过,为什么返回值tempxiangsuzhi总是一个数204????问题出在哪里呢?请行家帮忙,不慎感激!