Windows 7 下做成系统服务的抓图程序不能抓到桌面图像,求助
小弟做了一个服务程序,用于对桌面进行抓图操作,系统在XP下面能正常运行,抓图也比较流畅,但如果安装在win 7下面,抓出的图是一个空白(灰白)的bmp图,一次无意在网上看到一篇文章说win 7有多个桌面,请问在win 7 下如何用服务程序抓用户的桌面。谢谢
//----(1)捕捉屏幕图像----
try
des := GetDesktopWindow;
ScreenDC:= GetDC(des);
ScreenBmp:= TBitmap.Create;
ScreenBmp.Width:= GetDeviceCaps(ScreenDC, HORZRES);
ScreenBmp.Height:= GetDeviceCaps(ScreenDC, VERTRES);
BitBlt(ScreenBmp.Canvas.Handle, 0, 0, ScreenBmp.Width-1, ScreenBmp.Height-1,ScreenDC, 0, 0, SRCCOPY);
//----(2)转化成JPEG图像----
JPEGImage:= TJPEGImage.Create;
JPEGImage.Assign(ScreenBmp);
JPEGImage.CompressionQuality:= Quality;
JPEGImage.Compress;
//----(3)将JPEG图像保存到数据流中
Stream.Size:= 0;
JPEGImage.SaveToStream(Stream);
//----(4)释放资源
finally
JPEGImage.Free;
ScreenBmp.Free;
ReleaseDC(des, ScreenDC);
end;