захотелось шоб окно спп выглядело также хорошо на том мониторе...
начал ковырять как сделать - появилась мысля - доп по берущее данные из окна спп и после конвертац показывающее в своем окне как надо...
пример выковыривания данных из окна ревью спп в буфер обмена вынь -
HWND hSPPReviewWnd = NULL;
BOOL CALLBACK EnumProc( HWND hWnd, LPARAM lParam)
{
char string [512];
char string_test[] = "Review -";
char string_ref[] = "Review -";
GetWindowText( hWnd, &string[0], 512);
memcpy(string_test, string, 8);
if (strcmp(string_ref, string_test) == 0)
{
hSPPReviewWnd = hWnd;
return FALSE;
}
return TRUE;
}
int main(int argc, char *argv[])
{
EnumWindows(EnumProc, 0);
if (hSPPReviewWnd == NULL) return 1;
RECT rc;
GetWindowRect(hSPPReviewWnd, &rc);
HDC hDC = GetWindowDC(hSPPReviewWnd);
HDC hDCMem = CreateCompatibleDC(hDC);
HBITMAP hBMP = CreateCompatibleBitmap(
hDC,
rc.right - rc.left,
rc.bottom - rc.top);
HBITMAP pOldMemBmp = (HBITMAP)SelectObject(hDCMem, hBMP);
bool bRes = BitBlt(hDCMem, 0, 0, rc.right, rc.bottom, hDC, 0, 0, SRCCOPY);
ReleaseDC(hSPPReviewWnd, hDC);
SelectObject(hDCMem, pOldMemBmp);
DeleteObject(hDCMem);
OpenClipboard(hSPPReviewWnd);
EmptyClipboard();
SetClipboardData(CF_BITMAP, hBMP);
CloseClipboard();
DeleteObject(hBMP);
return 0;
}
основная проблема с таким методом - если окно чем-нить перекрыто - неработает намана... wm_print спп нифига не обрабатывает аще - похоже зза рисования своево ифейса :/ ...
процесс мож будет итти понемногу...