我需要捕獲微軟Edge窗口,並嘗試與PrintWindow
,但unfortunately it doesn't work。然後,現在我想嘗試使用Canvas.CopyRect
api。如何捕獲只有Microsoft Edge瀏覽器窗口?
我試圖與下面的代碼,但導致上線訪問衝突錯誤顯示在下面的截圖:
procedure ScreenShotWindow;
var
c: TCanvas;
r, t: TRect;
h: THandle;
Bild: TBitMap;
begin
c := TCanvas.Create;
h := FindWindow(nil, 'Microsoft Edge');
c.Handle := GetWindowDC(h);
GetWindowRect(h, t);
try
r := Rect(0, 0, t.Right - t.Left, t.Bottom - t.Top);
Bild.Width := t.Right - t.Left; { <-- Access Violation Here }
Bild.Height := t.Bottom - t.Top;
Bild.Canvas.CopyRect(r, c, t);
Bild.SaveToFile('test'+ RandomPassword(10)+'.bmp');
finally
ReleaseDC(0, c.Handle);
c.Free;
end;
end;
我仍然不知道,如果以後解決此問題的代碼,這將是能夠捕捉到微軟Edg,所以如果有人知道某種方式可行,請說我:D。
下一次,請在您的代碼中註明訪問衝突或其他錯誤,並在註釋中註明該行的訪問權限(//違反此行),而不是代碼的圖像。 –
確實,圖像佔用了其他人支付的空間:-)因此,如果不是絕對必要的,人們應該避免上傳圖片。 –