Ir ao conteúdo
  • Cadastre-se

screenshot / printscreen c++


Posts recomendados

Boa tarde,

estou tendo erro para compilar essa aplicação, estou fazendo um printscreen para windows 7 em c++ usando o devcpp mesmo,

se alguem já fez e conseguir ajudar agradeço muito, não sei se tem algum parametro para passar na compilação.

#include <iostream>#include <windows.h>#include <stdio.h>//// Side Effects:N/A////This code is copyrighted and has// limited warranties.Please see http:////     www.Planet-Source-Code.com/vb/scripts/Sh//     owCode.asp?txtCodeId=10754&lngWId=3//for details.//**************************************//    void TakeScreenShot(char* filename){    keybd_event(VK_SNAPSHOT, 0x45, KEYEVENTF_EXTENDEDKEY, 0);    keybd_event(VK_SNAPSHOT, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);    HBITMAP h;        OpenClipboard(NULL);    h = (HBITMAP)GetClipboardData(CF_BITMAP);    CloseClipboard();    HDC hdc=NULL;    FILE *fp=NULL;    void *pBuf=NULL;    BITMAPINFO bmpInfo;    BITMAPFILEHEADER bmpFileHeader;        do    {        hdc=GetDC(NULL);        ZeroMemory(&bmpInfo,sizeof(BITMAPINFO));        bmpInfo.bmiHeader.biSize=sizeof(BITMAPINFOHEADER);        GetDIBits(hdc,h,0,0,NULL,&bmpInfo,DIB_RGB_COLORS);        if(bmpInfo.bmiHeader.biSizeImage<=0)                bmpInfo.bmiHeader.biSizeImage=bmpInfo.bmiHeader.biWidth*abs(bmpInfo.bmiHeader.biHeight)*(bmpInfo.bmiHeader.biBitCount+7)/8;        if((pBuf = malloc(bmpInfo.bmiHeader.biSizeImage))==NULL)        {            MessageBox( NULL, "Unable to Allocate Bitmap Memory", "Error", MB_OK|MB_ICONERROR);            break;        }                bmpInfo.bmiHeader.biCompression=BI_RGB;        GetDIBits(hdc,h,0,bmpInfo.bmiHeader.biHeight,pBuf, &bmpInfo, DIB_RGB_COLORS);        if((fp = fopen(filename,"wb"))==NULL)        {            MessageBox( NULL, "Unable to Create Bitmap File", "Error", MB_OK|MB_ICONERROR);            break;        }            bmpFileHeader.bfReserved1=0;        bmpFileHeader.bfReserved2=0;        bmpFileHeader.bfSize=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+bmpInfo.bmiHeader.biSizeImage;        bmpFileHeader.bfType=0x4D42;        bmpFileHeader.bfOffBits=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);        fwrite(&bmpFileHeader,sizeof(BITMAPFILEHEADER),1,fp);        fwrite(&bmpInfo.bmiHeader,sizeof(BITMAPINFOHEADER),1,fp);        fwrite(pBuf,bmpInfo.bmiHeader.biSizeImage,1,fp);    }    while(!false);        if(hdc) ReleaseDC(NULL,hdc);    if(pBuf) free(pBuf);    if(fp) fclose(fp);};    int main(){        char file[20]="c:\\Screenshot.bmp";        TakeScreenShot(file);        return 0;}
Link para o comentário
Compartilhar em outros sites

C:\Users\f-wm3668\AppData\Local\Temp\cc5PlFGa.o    printscreen7.cpp:(.text+0xf3): undefined reference to `__imp_GetDIBits'
C:\Users\f-wm3668\AppData\Local\Temp\cc5PlFGa.o    printscreen7.cpp:(.text+0x1ab): undefined reference to `__imp_GetDIBits'
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe    C:\Users\f-wm3668\AppData\Local\Temp\cc5PlFGa.o: bad reloc address 0xc in section `.xdata'
C:\Users\f-wm3668\Desktop\Exemplos fonts\collect2.exe    [Error] ld returned 1 exit status

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!