我想从整个屏幕到TForm1画布绘制一个屏幕截图。
该代码在Delphi XE3中运行良好
procedure TForm1.Button1Click(Sender: TObject);
var
c,scr: TCanvas;
r,r2: TRect;
begin
c := TCanvas.Create;
scr := TCanvas.Create;
c.Handle := GetWindowDC(GetDesktopWindow);
try
r := Rect(0, 0, 200, 200);
form1.Canvas.CopyRect(r, c, r);
finally
ReleaseDC(0, c.Handle);
c.Free;
end;
Run Code Online (Sandbox Code Playgroud)
现在,我想先将屏幕快照复制到另一个画布。有没有办法做到这一点而不会出现此错误?
procedure TForm1.Button1Click(Sender: TObject);
var
c,scr: TCanvas;
r,r2: TRect;
begin
c := TCanvas.Create;
scr := TCanvas.Create;
c.Handle := GetWindowDC(GetDesktopWindow);
try
r := Rect(0, 0, 200, 200);
scr.CopyRect(r,c,r); <-- Error, canvas does not allow drawing
form1.Canvas.CopyRect(r, scr, r); <-- Error, canvas does not allow drawing …
Run Code Online (Sandbox Code Playgroud) 我如何获得安装文件本身的Exe-Name?
我想将exe文件名本身写入inno安装脚本中的变量.
Inno Setup版本5.5.3