как захватить изображение с экрана средствами WinAPI когда в систему еще не залогинились пользователи? Пробовал так Код (Text): rd_ddc=CreateDC("DISPLAY",0,0,0); rd_scrn_width=GetDeviceCaps(rd_ddc,HORZRES); rd_scrn_height=GetDeviceCaps(rd_ddc,VERTRES); rd_buf_size=rd_scrn_width*rd_scrn_height*2; rd_hb=CreateCompatibleBitmap(rd_ddc,rd_scrn_width,rd_scrn_height); rd_cdc=CreateCompatibleDC(rd_ddc); SelectObject(rd_cdc,rd_hb); ....................... ..................... BitBlt(rd_cdc,0,0,rd_scrn_width,rd_scrn_height,rd_ddc,0,0,SRCCOPY); GetDIBits(rd_cdc,rd_hb,0,rd_scrn_height,rd_cur_buf,&rd_binfo,DIB_RGB_COLORS); Не работает. Пробовал указывать конкретное устройство (монитор) в CreateDC- тоже не работает. Изучал исходники VNC - там вроде также делается, но при этом работает
И не будет работать. Сервис находиться на другой Windows Station. Чтобы захватить экран нужно сделать сервис инерактивным, и возможно, если этот не паможет, в ручную переключиться на Winsta0/Default десктоп. Подробнее в MSDN: http://msdn2.microsoft.com/en-us/library/ms681928.aspx
Насколько я понял, интерактивный сервис запускается под Windows Station Winsta0. Если юзер залогинился, то по умолчанию юзается Default десктоп. А как отследить выход юзера из системы, чтобы переключиться на Winlogon десктоп?