Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi DOS Screenshot (https://www.delphipraxis.net/19990-dos-screenshot.html)

Gombel 12. Apr 2004 11:34


DOS Screenshot
 
Hi,

ich will von einem DOS-Programm, das unter Windows emuliert wird, einen Screenshot machen.
Das Programm läuft leider nicht im Konsolen-, sondern nur im Vollbildmodus (Sonst wäre es ja einfach).

Alle Standardscreenshotroutinen, die man überall im Internet findet, versagen hier. (also BitBlt, CopyRect).

Manuell kann man ja einen Screenshot von DOS-Programmen mit der Druck-Taste machen.
Den Druck auf die Drucktaste kann ich durck keybrd_event simulieren - das funktioniert auch, aber:
- es wird nur das Fenster, das den Fokus hat, gecaptured (drückt man manuell die Taste, bekommt man ja einen Screenshot des gesamten Screens)
- bei DOS Programmen geht es nicht (obwohl es bei allen anderen Tasten, die ich simuliere (Buchstaben, Pfeiltsasten...) problemlos geht)

Eine Idee wäre, direkt auf die API-Funktion zuzugreifen, die durch die Drucktaste angesprochen wird, aber welche das ist, konnte ich bisher noch nicht finden.

Oder gibt es eine andere Möglichkeit, einen DOS-Screenshot aus Delphi heraus zu machen?

Vielen Dank,
MfG,
Gombel

malloc 12. Apr 2004 11:55

Re: DOS Screenshot
 
Ja das muss man sicherlich direkt über die API machen. Ich weis halt noch das man bei Spielen die unter DirektX oder OpenGL laufen auch immer so ein Programm verwenden musste damit man Screenshots machen konnte.

Gombel 12. Apr 2004 14:06

Re: DOS Screenshot
 
"So ein Programm" - Was für ein Programm?

Ok, weiß jemand, welche API-Funktion einen Screenshot liefert?

Jörn 12. Apr 2004 18:23

Re: DOS Screenshot
 
Ich weiss zwar auch nicht wie das Program heisst, aber ich weiss welches er meint. Google einfach mal nach DirectX OpenGL fps screenshot - da solltest du schnell was finden. Aber ich bezweifle das man mit Windows-API Funktionen einen Screenshot von einem DOS-Proggie machen kann.

dizzy 12. Apr 2004 19:03

Re: DOS Screenshot
 
Das Teil heisst "Fraps" und ist nur für DirectX geeignet. Leider ist es seit der Version 2 kostenpflichtig, aber es gibt eine Demo mit ein paar Einschränkungen.
Allerdings ist das Verfahren mit dem Fraps arbeitet nicht gerade trivial - Stichwort DLL-Hooking. Hab dazu auch schon mal was hier geschrieben (find's grad net).
Das dürfte aber für DOS-Fullscreen nicht gehen. Da müsste man wirklich auf API-Calls setzen - nur kennen tu ich solche leider auch net :?

Muss es denn Fullscreen sein? Sonst könnte man es doch in einem Fenster laufen lassen, und den ganzen Bildschirm "screenshotten", und die Fensterposition/-größe findet man doch sicherlich auch irgendwie heraus (?). Dann zuschneiden und fertig.

Richtig ekelig könnte es natürlich werden, wenn es nicht um Textanwendungen geht, sondern Spiele etc. die die VESA-Modi der GraKa nutzen. In wie weit man dann DA dran kommt, das kann ich nicht sagen.


gruss,
dizzy

Gombel 13. Apr 2004 09:36

Re: DOS Screenshot
 
Zitat:

Das dürfte aber für DOS-Fullscreen nicht gehen. Da müsste man wirklich auf API-Calls setzen - nur kennen tu ich solche leider auch net
Weißt du denn, wo man so etwas nachschauen könnte?

Zitat:

Muss es denn Fullscreen sein?
Ja. Es ist ein DOS-Spiel (kein Text, sondern Grafik). Wenn ich versuche, es im Fenster laufen zu lassen, wird der Programmablauf unterbrochen, bis ich es wieder im Vollbild laufen lasse.

dizzy 13. Apr 2004 12:20

Re: DOS Screenshot
 
Hmmm, nicht einfach. Mein erster Blick würde auf das PSDK gerichtet sein, und der zweite auf google, um zu sehen, ob das irgendjemand überhaupt schon mal versucht hat.
Dann gibt es von einem Member hier (ich glaube Assarbad) eine TScreenshot-Kompo. Ich würde einfach mal ausprobieren, ob die nicht weiter hilft. (Keine Ahnung, ob die das kann ;) )

Letzten Endes ist ja auch eine maximierte DOS-Box nur ein Fenster (?), und müsste ein DC haben, das man sich abholen könnte. Eventuell kommt man auf der Schiene weiter.

Einfach mal alle Möglichkeiten antesten :zwinker:


gruss,
dizzy

Gombel 13. Apr 2004 16:48

Re: DOS Screenshot
 
Zitat:

PSDK
Was ist das?

Zitat:

google
Ich suche und suche, habe aber bisher nicht viel gefunden.

Den DC kann ich mir wirklich abholen. Aber was hilft das?

Die TScreenshot probiere ich gleich aus.

malloc 13. Apr 2004 17:46

Re: DOS Screenshot
 
Zitat:

Zitat von Gombel
"So ein Programm" - Was für ein Programm?

Ok, weiß jemand, welche API-Funktion einen Screenshot liefert?

Ich meinte das Programm "HyperSnap-DX". Ich hoffe das hilft dir weiter.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz