Wie Screenshot von Fenster machen
-
Hallo habt ihr dafür ein paar kleine Links? Vor allen Dingen wie speichere ich das ganze gleich als JPG ab und nicht als BMP? Ich kann es mit libjpg natürlich machen, aber bietet die WinAPI dafür vielleicht schon von selbst Funktionen?
MfG,
MadDogg
-
Das muss echt schwer sein...wirf mal ein Blick in die FAQ...:

1.:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39384.html2.:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39400.html
-
Hi
Bei der FAQ kriegte ich immer Permission Denied 301, keine Ahnung was dort los ist. Ich programmiere leider nicht im C++ hast du auch ein JPG Code für C?

-
Hi nochmal
Ausserdem ist das Code um JPG zu Laden ich suche ja nach einer Möglichkeit den gemachten Screenshot GLEICH mit JPG zu komprimieren.
MadDogg
-
CodeFinder wenn du langeweile hast wäre super wenn du für mich und das FAQ ne kleine Funktion basteln könntest der man ein Fenster HWND handle übergibt und eine Pfad angabe plus einen Dateinamen und die Funktion dann ein Bild des Fensters als JPG in dem Pfad abspeichert. Das wäre schon super...Das non-plus-ultra wäre noch wenn die funktion noch ein weiteren byte parameter akzeptieren würde, der die JPG Kompressions rate reguliert.
MadDogg
-
MadDogg schrieb:
Hi
Bei der FAQ kriegte ich immer Permission Denied 301, keine Ahnung was dort los ist. Ich programmiere leider nicht im C++ hast du auch ein JPG Code für C?

Hä ? ...also ich bekomme weder einen "Permission Denied 301"-Error, noch verstehe ich, dein C/C++ Problem...der Code ist doch C und selbst wenn nicht, ist das umschreiben eher ne Frage von fleiß

MadDogg schrieb:
Hi nochmal
Ausserdem ist das Code um JPG zu Laden ich suche ja nach einer Möglichkeit den gemachten Screenshot GLEICH mit JPG zu komprimieren.
MadDogg
Tja ... dann solltest du vllt mal einen Blick in die MSDN werfen...das umwandeln von BMP's in JPEG's ähnelt nämlich dem laden, speichern etc. sehr

-
hm hi nochmal,
ich krieg das voll nicht hin...probiere hier schon seit stunden rum, wär echt toll wenn du mir helfen könntest

-
MadDogg schrieb:
hm hi nochmal,
ich krieg das voll nicht hin...probiere hier schon seit stunden rum, wär echt toll wenn du mir helfen könntest

Poste mal deinen Code.
-
BOOL SaveJPG(LPCTSTR szFile) { HANDLE hFile = CreateFile(szFile, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); if(hFile == INVALID_HANDLE_VALUE) { return FALSE; } DWORD dwFileSize = GetFileSize(hFile, NULL); if(dwFileSize == -1) { return FALSE; } LPVOID pvData = NULL; HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, dwFileSize); if(hGlobal == NULL) { return FALSE; } pvData = GlobalLock(hGlobal); if(pvData == NULL) { return FALSE; } DWORD dwBytesRead = 0; BOOL bRead = WriteFile(hFile, pvData, dwFileSize, &dwBytesRead, NULL); if(bRead == FALSE) { return FALSE; } GlobalUnlock(hGlobal); CloseHandle(hFile); LPSTREAM pstm = NULL; // create IStream* from global memory HRESULT hr = CreateStreamOnHGlobal(hGlobal, TRUE, &pstm); if(FAILED(hr) || pstm == NULL) { return FALSE; } // Create IPicture from image file if(pPicture) { pPicture->Release(); } hr = ::OleLoadPicture(pstm, dwFileSize, FALSE, IID_IPicture, (LPVOID*)&pPicture); if(FAILED(hr) || pPicture == NULL) { return FALSE; } pstm->Release(); return TRUE; }
-
*push*

-
LOL!!!, du willst mich echt verarschen, oder ?
Hätte ich mir aber n bisschen mehr Mühe gegeben...Das ist doch der Code außer FAQ... du kannst mir nicht erzählen, dass du daran irgwas geändert hast...ich werde bestimmt nicht deine Arbeit machen...du hast ganz bestimmt niemals (ernsthaft) versucht diesen Code zu kompilieren...und wenn doch ...und du weißt nicht, warum es nicht geht, kann ich dich nur an die Grundlagen von C bzw C++ verweisen...das ist so offensichtlich

Wo ist bspw. die Variable pPicture deklariert ? 
richtig...hier:
FAQ schrieb:
[...] private: LPPICTURE pPicture; }; [...]
-
GDI+
-
Hm Ich hab dich nett gefragt aber wenn du damit überfordert bist muss ich es wohl selbst machen....und ich dachte du wärst pro...hab ich mich wohl geirrt.
-
MadDogg schrieb:
Hm Ich hab dich nett gefragt aber wenn du damit überfordert bist muss ich es wohl selbst machen....und ich dachte du wärst pro...hab ich mich wohl geirrt.

-
Na hör mal, MadDogg, "pro sein" (wofür eigentlich ? Oder meinst du "professionell"?
) bedeutet nicht, die Hausaufgaben
anderer Leute
zu machen ! Wenn du das annahmst
, dann hast du dich darin gründlich geirrt. Hoffentlich hilft dir dies
.Mit freundlichen Grüßen
WinAPI-User
-
MadDogg schrieb:
Hm Ich hab dich nett gefragt aber wenn du damit überfordert bist muss ich es wohl selbst machen....und ich dachte du wärst pro...hab ich mich wohl geirrt.
lächerlich
..."WinAPI-User" hats schon aufen Punkt gebracht
, danke 
Glaub wär sinnvoll wenn das hier mal geschlossen würde...
