Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] screenshort capture ? 24.03.06 00:48 Число просмотров: 2516
Автор: Tamas Статус: Member Отредактировано 24.03.06 00:49 Количество правок: 1
|
есть тут такой интересный вопросик КАК СДЕЛАТЬ СКРИНШОРТ ЭКРАНА когда в системе не не одного пользователя ??? прога которя его должна делать работает как сервис
я использую вот такой код
bool CaptureScreenShort(void **HBitmap)
{
void *HDCScreen;
void *HDCCompatible;
int Width;
int Height;
if((HDCScreen=GetDC(GetDesktopWindow()))==NULL)return false;
Width=GetDeviceCaps(HDCScreen,HORZRES);
Height=GetDeviceCaps(HDCScreen,VERTRES);
if((HDCCompatible=CreateCompatibleDC(HDCScreen))==NULL)
{
DeleteDC(HDCScreen);
return false;
}
if((*HBitmap=CreateCompatibleBitmap(HDCScreen,Width,Height))==NULL)
{
DeleteDC(HDCScreen);
DeleteDC(HDCCompatible);
return false;
}
if(!SelectObject(HDCCompatible,*HBitmap))
{
DeleteDC(HDCScreen);
DeleteDC(HDCCompatible);
DeleteObject(*HBitmap);
return false;
}
if(!BitBlt(HDCCompatible,0,0,Width,Height,HDCScreen,0,0,SRCCOPY))
{
DeleteDC(HDCScreen);
DeleteDC(HDCCompatible);
DeleteObject(*HBitmap);
return false;
}
DeleteDC(HDCScreen);
DeleteDC(HDCCompatible);
return true;
}
если в системе некого нет GetDesktopWindow() возвращяет NULL :-(
|
- [C++] screenshort capture ? - Tamas 24.03.06 00:48 [2516]
|
|
|