DelphiDell
Erfahrenes Mitglied
Hi , hallo miteinander ich habe mier eine Kleine Klasse um einen Screenshot zu machen geschrieben
Das Programm Srarted ohne Fehler und Beendet wieder ohne Fehler, aber am Schluss ist keine Datei zu finden
//Edit hab grad gefunden wo die Datein Stecken in meine visual C++ Verzeichniss Wiso denn dass
Aber die Datein sind irgendwie etwas verkrüppelt :-
Kann sie nicht oeffnen und der Dateinahme ist dass ??????p :-
Hoffe Jemand kann mier Helfen
PHP:
#include <windows.h>
#include <string>
#include <iostream>
using namespace std;
class CStellwerk
{
private:
HWND m_hDesktop;
public:
void MakeScreenshot(char SavePath[]);
void SaveScreen(HWND pScreen, char Path[]);
};
void CStellwerk::MakeScreenshot(char SavePath[])
{
m_hDesktop = GetDesktopWindow();
if(m_hDesktop == NULL)
{
exit(1);
}
SaveScreen(m_hDesktop,SavePath);
}
int main()
{
CStellwerk Stellwerk;
Stellwerk.MakeScreenshot("C:\\screen.bmp");
}
void CStellwerk::SaveScreen(HWND pScreen, char Path[])
{
HDC hdcScreen;
HBITMAP hbmScreen;
//---------------Bitmap Informationen
BITMAPINFO infobmp;
infobmp.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
infobmp.bmiHeader.biWidth = 1024;
infobmp.bmiHeader.biHeight = 768;
infobmp.bmiHeader.biPlanes = 1;
infobmp.bmiHeader.biBitCount = 24;
infobmp.bmiHeader.biCompression = 0;
infobmp.bmiHeader.biSizeImage = 0;
infobmp.bmiHeader.biXPelsPerMeter = 0;
infobmp.bmiHeader.biYPelsPerMeter = 0;
infobmp.bmiHeader.biClrUsed = 0;
infobmp.bmiHeader.biClrImportant = 0;
int* bitmap = new int[1024*768*16];
BITMAPFILEHEADER bfheader;
bfheader.bfType = 19778;
bfheader.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(bitmap)+ sizeof(BITMAPINFOHEADER);
bfheader.bfReserved1 = 0;
bfheader.bfReserved2 = 0;
bfheader.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
//Bitmap ----------------------- Informationen
hdcScreen = GetDC(pScreen);
hbmScreen = CreateCompatibleBitmap(hdcScreen,1024,768);
GetDIBits(hdcScreen,hbmScreen,0,500,bitmap,&infobmp,DIB_RGB_COLORS);
HANDLE hfile = CreateFile((LPCWSTR) Path,GENERIC_WRITE,0,0,OPEN_ALWAYS,0,0);
//Datei Schreiben
DWORD word;
WriteFile(hfile,&bfheader,14,&word,NULL);
WriteFile(hfile,&infobmp,40,&word,NULL);
WriteFile(hfile,bitmap,750000,&word,NULL);
ReleaseDC(pScreen,hdcScreen);
CloseHandle(hfile);
delete[] bitmap;
}
Das Programm Srarted ohne Fehler und Beendet wieder ohne Fehler, aber am Schluss ist keine Datei zu finden
//Edit hab grad gefunden wo die Datein Stecken in meine visual C++ Verzeichniss Wiso denn dass
Aber die Datein sind irgendwie etwas verkrüppelt :-
Kann sie nicht oeffnen und der Dateinahme ist dass ??????p :-
Hoffe Jemand kann mier Helfen
Zuletzt bearbeitet: