请教一下“printscreen”键截图的原理!!! 想请教一下,按下这个键后,WINDOWS都做了哪些操作,图源是哪? 和普通的GDI截图有什么不同? 谢谢!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procedure TForm1.Button1Click(Sender: TObject);var DC, Data: THandle; Pal: HPALETTE; Canvas: TCanvas; Bitmap: TBitmap; r: TRect; Fmt: Word;begin DC := GetDC(0); // 关键在这里吧,0 代表的是屏幕 Hwnd, 此外还可以是任何的 Hwnd, GetDesktopWindow()是桌面Hwnd try Canvas := TCanvas.Create; Bitmap := TBitmap.Create; try Canvas.Handle := DC; r := Screen.DesktopRect; Bitmap.Width := r.Right; Bitmap.Height := r.Bottom; Bitmap.Canvas.CopyRect(r, Canvas, r); Bitmap.SaveToClipboardFormat(Fmt, Data, Pal); Clipboard.SetAsHandle(Fmt, Data); finally Bitmap.Free; Canvas.Free; end; finally ReleaseDC(0, DC); end;end; 程序设计接口问题 有没有方法把发向某个IP某个端口的数据截获下来 谈谈delphi的多线程 delphi6用ADO如何边接ORACLE9I的数据库 PDF文件的格式??? 考题 不明白...;不明白...请指教串口卡问题:打开几个串口后程序变慢或死机??? 用delphi写B/S程序,可否达到满意的效果? 谁知道installshield的最新版本,在那里可以下载。我用D6 请问如何调用getdiskfreespace函数 关于返回指定单元格焦点的问题 大家往panel上拖控件都用什么布局方式啊??
var
DC, Data: THandle;
Pal: HPALETTE;
Canvas: TCanvas;
Bitmap: TBitmap;
r: TRect;
Fmt: Word;
begin
DC := GetDC(0); // 关键在这里吧,0 代表的是屏幕 Hwnd, 此外还可以是任何的 Hwnd, GetDesktopWindow()是桌面Hwnd
try
Canvas := TCanvas.Create;
Bitmap := TBitmap.Create;
try
Canvas.Handle := DC;
r := Screen.DesktopRect;
Bitmap.Width := r.Right;
Bitmap.Height := r.Bottom;
Bitmap.Canvas.CopyRect(r, Canvas, r);
Bitmap.SaveToClipboardFormat(Fmt, Data, Pal);
Clipboard.SetAsHandle(Fmt, Data);
finally
Bitmap.Free;
Canvas.Free;
end;
finally
ReleaseDC(0, DC);
end;
end;