Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di dave88
    Registrato dal
    Dec 2002
    Messaggi
    55

    [C++]ScrenShot...

    Salve, vorrei sapere se esiste (spero di si) una Api di Windows per catturare lo screenshot dello schermo (lo so e un po una ripetizione )...su windows...e se non esiste un api, se esiste qualche altro metodo valido...vi ringrazio in anticipo ^__^

  2. #2
    Utente di HTML.it L'avatar di mamo139
    Registrato dal
    May 2005
    residenza
    Londra
    Messaggi
    848
    up, interessa anche a me

  3. #3

    cattura schermo

    //Ecco risolto il vostro problema
    //compilatelo, eseguitelo e premete un tasto
    //fatemi sapere se vi garba

    /*------
    -Davide-
    ------*/




    #include <windows.h>

    LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

    int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
    PSTR szCmdLine, int iCmdShow)
    {
    static TCHAR szAppName[] = TEXT ("catturaimmagine") ;
    HWND hwnd ;
    MSG msg ;
    WNDCLASS wndclass ;

    wndclass.style = CS_HREDRAW | CS_VREDRAW ;
    wndclass.lpfnWndProc = WndProc ;
    wndclass.cbClsExtra = 0 ;
    wndclass.cbWndExtra = 0 ;
    wndclass.hInstance = hInstance ;
    wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;
    wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
    wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
    wndclass.lpszMenuName = NULL ;
    wndclass.lpszClassName = szAppName ;

    if (!RegisterClass (&wndclass))
    {
    MessageBox (NULL, TEXT ("errore"),
    szAppName, MB_ICONERROR) ;
    return 0 ;
    }
    hwnd = CreateWindow (szAppName,
    TEXT ("Cattura Schermo creato da Davide"),
    WS_OVERLAPPEDWINDOW,
    CW_USEDEFAULT,
    CW_USEDEFAULT,
    CW_USEDEFAULT,
    CW_USEDEFAULT,
    NULL,
    NULL,
    hInstance,
    NULL) ;

    ShowWindow (hwnd, iCmdShow) ;
    UpdateWindow (hwnd) ;

    while (GetMessage (&msg, NULL, 0, 0))
    {
    TranslateMessage (&msg) ;
    DispatchMessage (&msg) ;
    }
    return msg.wParam ;
    }

    LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    HDC dcW, hdcScreen;
    RECT rect ;

    switch (message)
    {

    case WM_KEYDOWN:

    int cx, cy ;

    GetClientRect (hwnd, &rect) ;

    cx = GetSystemMetrics (SM_CXSCREEN) ;
    cy = GetSystemMetrics (SM_CYSCREEN) ;
    hdcScreen = GetDC(NULL);
    dcW = GetDC(hwnd);

    BitBlt(dcW, rect.left , rect.top, cx, cy, hdcScreen, 0, 0, SRCCOPY);

    return 0;

    case WM_DESTROY:
    PostQuitMessage (0) ;
    return 0 ;
    }
    return DefWindowProc (hwnd, message, wParam, lParam) ;
    }

  4. #4
    Utente di HTML.it L'avatar di dave88
    Registrato dal
    Dec 2002
    Messaggi
    55
    Io usando DevC++ ricevo errori, mi sa in fase di linkaggio...

    codice:
    [Linker error] undefined reference to `GetStockObject@4'
      [Linker error] undefined reference to `BitBlt@36' 
      ld returned 1 exit status

  5. #5

    dev c++ risolto

    Guarda io ho provato a scaricare dev c++5 dal sito http://www.bloodshed.net che probabilmente già conosci, l'ho installato, ho creato un nuovo progetto windows, ho cancellato tutto quello che c'era in precedenza (devc++ infatti ti crea un programma di esempio) e incollato il mio codice e infine ho compilato ed eseguito premendo f9.

    risultato: PERFETTO.

    Prova e dimmi se funziona anche per te

  6. #6
    a me compare una finastra di win ma e tutta bianca ce sritto solo sulla barra inalto "cattura schermo creato da davide "

    ma dentro e tutto bianco
    3/6/2003 è morto l'angelo della mia vita..
    www.markwebinformatica.net
    My BLOG

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.