Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.14;
Скачать: CL | DM;

Вниз

Мне нужно, чтобы, сервер делал снимок экрана(как клавишей Print   Найти похожие ветки 

 
Delpher-Hacker ©   (2002-08-11 05:57) [0]

Я пишу программу, которая следит за удалённым компьютером.
Есто клиет и сервер. Мне нужно, чтобы, сервер делал снимок экрана(как клавишей Print Screen)
и сразуже отправлял мне,клиенту, чтобы я мог его посмотреть.
Снимок не должен превышать размер в 200Кб.
Как это сделать, приведите пожалуйста пример кода?
Заранее спасибо!!!


 
Vogul   (2002-08-12 16:35) [1]

Для затравки.


void CShowDesktopDlg::CopyDesktop(LPBYTE buffer)
{
CDC dcScreenMem, dcScaled, dcStatic;
CDC dcScreen, *dcOut;
CBitmap Bitmap, BitmapScaled;
CBitmap BitmapFinally;
CRect rect;
DWORD size;

dcScreen.CreateDC("DISPLAY", NULL, NULL, NULL);

dcScreenMem.CreateCompatibleDC(&dcScreen);
dcScaled.CreateCompatibleDC(&dcScreen);

Bitmap.CreateCompatibleBitmap(&dcScreen, 1152, 864);
BitmapScaled.CreateCompatibleBitmap(&dcScreen, 1152, 864);
BitmapFinally.CreateCompatibleBitmap(&dcScreen, 1152, 864);

CBitmap *pOldBitmap = dcScreenMem.SelectObject(&Bitmap);
dcScaled.SelectObject(&BitmapScaled);

CWnd * Display = (CWnd *) GetDlgItem(IDC_DISPLAY);
dcOut = Display->GetDC();

dcStatic.CreateCompatibleDC(dcOut);
BitmapFinally.CreateCompatibleBitmap(dcOut, 290, 200);

Display->GetWindowRect(&rect);

dcScreenMem.BitBlt(0,0,1152,864,&dcScreen,0,0,SRCCOPY);

dcScaled.StretchBlt(0,0,290,200,&dcScreenMem,0,0,1152,864,SRCCOPY);

size = BitmapScaled.GetBitmapBits(1, buffer);
buffer = (LPBYTE) LocalAlloc(LPTR, size*sizeof(BYTE));
BitmapScaled.GetBitmapBits(size, buffer);
BitmapScaled.DeleteObject();
BitmapFinally.SetBitmapBits(size,buffer);
dcOut->BitBlt(0,0,290,200,&dcStatic,0,0,SRCCOPY);

}


Потом жми в jpeg например и отправляй.


 
Ghost. ©   (2002-08-12 17:26) [2]

На лист ру можно найти исходник такой проги



Страницы: 1 вся ветка

Текущий архив: 2002.10.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
4-45656
KSS
2002-08-28 18:42
2002.10.14
Вставка и RichEdit Ole объектов


1-45240
Шурик Ш
2002-10-02 12:09
2002.10.14
Хранение доп. полей для узлов TreeView


1-45382
ksan
2002-10-02 19:57
2002.10.14
фокусировка компонента


4-45636
stainer
2002-07-29 22:21
2002.10.14
rxmenu


1-45412
kefirilla
2002-10-03 12:56
2002.10.14
ПОГИБАЮ