WIN2000服务程序读取屏幕的问题(50分)

  • 主题发起人 主题发起人 lufang
  • 开始时间 开始时间
L

lufang

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure GetScreen(var Bmp: TBitmap);
var
Dc: HDC;
MyCanvas: TCanvas;
MyRect: TRect;
begin
Dc := GetWindowDC(0);
MyCanvas := TCanvas.Create;
try
MyCanvas.Handle := Dc;
MyRect:=Rect(0,0,Screen.Width,Screen.Height);
Bmp.PixelFormat := pf24bit;
Bmp.Width := MyRect.Right;
Bmp.Height := MyRect.Bottom;
Bmp.Canvas.CopyRect(MyRect, MyCanvas, MyRect);
finally
MyCanvas.Handle := 0;
MyCanvas.Free;
ReleaseDC(0, Dc);
end;
end;
同样是这段代码,在普通WIN2000的EXE程序中运行正常,但做在服务程序里后,读取的却是白屏,为什么?怎么解决?
 
安装服务的时候一定要在“登录”选上“允许与桌面交互”,否则就是你遇到的情形
 
用DELPHI做时,有属性可以使用吗?还是必须在“登录”页中手工选上?
 
接受答案了.
 
后退
顶部