Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
|
Скриншот(снимок) рабочего стола ( C++Builder 6)
//Скриншот
#include <vcl.h> #pragma hdrstop
#include "Unit1.h" #include <jpeg.hpp> // для работы с jpg #include <string.h> //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm"
TForm1 *Form1;
/******************************************************* по умолчанию скриншоты будут записаны на диск С или на диск где стоит ваша система при желании укажите свой путь ********************************************************/
char Scrin[256] = ""; // путь до bmp файла char ScrinJPG[256] = ""; // путь до jpg файла AnsiString S; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender) { TPicture *p=new TPicture; HWND hwnd=GetDesktopWindow(); HDC hdc=GetWindowDC(hwnd); TCanvas *C=new TCanvas; C->Handle=hdc; int w=Screen->Width; int h=Screen->Height; p->Bitmap->Width=w; p->Bitmap->Height=h; p->Bitmap->Canvas->CopyMode=cmSrcCopy; p->Bitmap->Canvas->CopyRect(TRect(0,0,w,h),C,TRect(0,0,w,h)); ReleaseDC(hwnd,hdc); delete C;
//записываем в файл скрин
strcat(Scrin, "\\screenel.bmp"); p->Bitmap->SaveToFile(Scrin); // C:\screenel.bmp delete p;
// конвертируем в jpg
Form1->Image1->Picture->LoadFromFile(Scrin);
TJPEGImage *jp = new TJPEGImage(); try { jp->Assign(Form1->Image1->Picture->Bitmap);
strcat(ScrinJPG,"\\screenel.jpg"); jp->SaveToFile(ScrinJPG); // C:\screenel.jpg } __finally { delete jp; }
} //---------------------------------------------------------------------------
|
Категория: Мои статьи | Добавил: Rain (04.05.2011)
|
Просмотров: 1882
| Рейтинг: 0.0/0 |
|
|
|
|