begin process at 2012 05 28 07:36:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

API capte l'écran


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

API capte l'écran

mardi 16 octobre 2001 à 19:47:22 | API capte l'écran

Bin Laden

Salut,
Je cherche une fonction API qui capte le contenu de l'écran.
dimanche 2 décembre 2001 à 18:08:26 | Re : API capte l'écran

Polykos

Tiens mets ce code avec filename le nom de ton fichier où sera enregistrer ta capture d'écran

Sous Visual C++ met doit fonctionner sur Borland c++

void ScreenCapture(char* filename)
{

// prepare DCs, bitmaps,..
HDC hScreenDC = GetWindowDC(0);
HDC hmemDC = CreateCompatibleDC(hScreenDC);
int ScreenWidth = GetDeviceCaps(hScreenDC, HORZRES);
int ScreenHeight = GetDeviceCaps(hScreenDC, VERTRES);
HBITMAP hmemBM = CreateCompatibleBitmap(hScreenDC, ScreenWidth, ScreenHeight);
SelectObject(hmemDC, hmemBM);

// copy screen to memory DC
BitBlt(hmemDC, 0, 0, ScreenWidth, ScreenHeight, hScreenDC, 0, 0, SRCCOPY);

// allocate and lock memory for the bitmap data
HGLOBAL hpxldata = GlobalAlloc(GMEM_FIXED, ScreenWidth * ScreenHeight * 3);
void FAR* lpvpxldata = GlobalLock(hpxldata);

// fill .bmp - structures
BITMAPINFO bmInfo;
bmInfo.bmiHeader.biSize = 40;
bmInfo.bmiHeader.biWidth = ScreenWidth;
bmInfo.bmiHeader.biHeight = ScreenHeight;
bmInfo.bmiHeader.biPlanes = 1;
bmInfo.bmiHeader.biBitCount = 24;
bmInfo.bmiHeader.biCompression = 0;
bmInfo.bmiHeader.biSizeImage = 0;
bmInfo.bmiHeader.biXPelsPerMeter = 0;
bmInfo.bmiHeader.biYPelsPerMeter = 0;
bmInfo.bmiHeader.biClrUsed = 0;
bmInfo.bmiHeader.biClrImportant = 0;

BITMAPFILEHEADER bmFileHeader;
bmFileHeader.bfType = 19778;
bmFileHeader.bfSize = (ScreenWidth * ScreenHeight * 3) + 40 + 14;
bmFileHeader.bfReserved1 = 0;
bmFileHeader.bfReserved2 = 0;
bmFileHeader.bfOffBits = 54;

// copy bitmap data into global memory
GetDIBits(hmemDC, hmemBM, 0, ScreenHeight, lpvpxldata, &bmInfo, DIB_RGB_COLORS);

// open file and write data
int bmfile = open(filename, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, S_IWRITE);
write(bmfile, &bmFileHeader, 14);
write(bmfile, &bmInfo, 40);
write(bmfile, lpvpxldata, ScreenWidth * ScreenHeight * 3);

// clean up
close(bmfile);
GlobalUnlock(hpxldata);
GlobalFree(hpxldata);
DeleteObject(hmemBM);
DeleteDC(hmemDC);
ReleaseDC(0, hScreenDC);
}



-------------------------------
Réponse au message :
-------------------------------

Salut,
Je cherche une fonction API qui capte le contenu de l'écran.


Cette discussion est classée dans : écran, api, capte


Répondre à ce message

Sujets en rapport avec ce message

[API] Fenêtre adaptable selon la résolution [ par tarretg ] Bonjour,J'ai développé une petite application mais le souci que j'ai, est que ma fenêtre principale ne s'adapte pas à la résolution de l'écran.Sur cer Détecter un caractère à l'écran [ par ATAKAN ] Bonjour Everybody!J'ai un souçis. Je travaille dans la voip et j'aimerais créer un petit logiciel sympa permettant d'entourer tous les numéros de télé [API WIN32] Création d'une courbe dans un Dialog [ par tarretg ] Bonjour, Je développe actuellement un projet sous Visual C++ avec pluseurs Dialog Box en API. Sur l'une d'entre elles, je voudrais afficher un graph [API WIN32] Générer un pdf [ par tarretg ] Bonjour à tous, Je développe actuellement un exécutable en Win32 sous Visual C++. Je voudrais générer un rapport en pdf des calculs effectués par l'u api win - empecher redimensionnement fenêtre [ par paramotdam ] Bonjour,Quelqu'un connait le style à mettre pour empêcher le redimensionnement de la fenêtre ?En option de ma CreateWindow j'ai WS_OVERLAPPEDWINDOW.Et API [ par vbnino ] Salut! -Commenr déclaré des API avec C++ , car j'ai écris ce code mais il me retourne ue erreur :                     BOOL Beep(                       "Capture d'écran" sur openGL [ par Samaths ] Bonjour à tous!Je voulais savoir s'il y avait une quelconque manière de faire des "prises d'écran" avec OpenGL:  j'aimerais que pendant que ma simulat GetDiskFreeSpaceEx [ par info004 ] bonjourje cherche à calculer la capacité du cd rom vierge avec l'api GetDiskFreeSpaceEx  mais cette derniere  ne marche pas qu C++, .NET, API, WIN32 Quelqu'un pourrait m'éclairer ? [ par jayjay9531 ] Bonjour,Cela fait donc une semaine que je joue au développeur C++ et je me rends compte que je ne sait même pas quel langage j'utilise en réalité. En


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,201 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales