الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Capture Screen

مغلق
بدأه fsl في 30 يوليو 2001 · 0 رد · 749 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عليكم

هذا برنامج بسيط لنسخ الشاشة - نفس عمل الزر Print Screen مأخوذ من مثال مكتوب بالسي في MSDN . طبعاً قمت باختصاره بشكل كبير حيث أن المثال به خيارات لنسخ نافذة فقط وهو مكون من عدة دوال أما هذا البرنامج ينسخ كامل الشاشة الى الحافظة ويقوم أيضاً بحفظها كملف jpg على القرص . للاستزاده راجع MSDN - يوجد أيضاً مثال شبيه في فيجوال بيسك .

program CopyScreen;
uses
    Windows, Graphics, Jpeg, Clipbrd, Forms ;
var
  ScrDC,MemDC : HDC;
  hbmp,hOldbmp : HBitmap;
  nWidth, nHeight : integer;
  TBmp : TBitmap;
  jpg : TJpegImage;
begin
    ScrDC := CreateDC('Display',NIL,NIL,NIL);
    MemDC := CreateCompatibleDC(ScrDC);
    nWidth := Screen.Width;
    nHeight := Screen.Height;
    hbmp := CreateCompatibleBitmap(ScrDC,nWidth,nHeight);
    hOldbmp := SelectObject(MemDC, hbmp);
    BitBlt(MemDC,0,0,nWidth,nHeight,ScrDC,0,0,SRCCOPY);
    hbmp := SelectObject(MemDC,hOldbmp);
    TBmp := TBitmap.Create;
    TBmp.Handle := hbmp;
    Clipboard.Assign(TBmp);
    jpg := TJpegImage.Create;
    jpg.Assign(TBmp);
    jpg.SaveToFile('MyScreen.jpg');
    TBmp.Free;
    jpg.Free;
    DeleteDC(ScrDC);
    DeleteDC(MemDC);
end.

هذا الموضوع مغلق.

مواضيع مشابهة