Главная страница
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.015 c
1-45386
Zuvom
2002-09-25 12:33
2002.10.14
dll


1-45384
Shrek
2002-10-02 20:45
2002.10.14
Color


14-45517
Zion
2002-09-16 20:38
2002.10.14
C# кто видел?


3-45198
s.ts
2002-09-20 21:23
2002.10.14
Оповещение об изменении таблицы


3-45237
Димон1
2002-09-20 12:26
2002.10.14
Можно ли так сделать? ADOQuery1.Parameters ....