AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DOS Screenshot

Offene Frage von "Gombel"
Ein Thema von Gombel · begonnen am 12. Apr 2004 · letzter Beitrag vom 13. Apr 2004
Antwort Antwort
Gombel

Registriert seit: 12. Apr 2004
9 Beiträge
 
Delphi 6 Professional
 
#1

DOS Screenshot

  Alt 12. Apr 2004, 12:34
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
  Mit Zitat antworten Zitat
malloc
(Gast)

n/a Beiträge
 
#2

Re: DOS Screenshot

  Alt 12. Apr 2004, 12:55
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.
  Mit Zitat antworten Zitat
Gombel

Registriert seit: 12. Apr 2004
9 Beiträge
 
Delphi 6 Professional
 
#3

Re: DOS Screenshot

  Alt 12. Apr 2004, 15:06
"So ein Programm" - Was für ein Programm?

Ok, weiß jemand, welche API-Funktion einen Screenshot liefert?
  Mit Zitat antworten Zitat
Jörn

Registriert seit: 5. Sep 2003
Ort: Helmstedt
312 Beiträge
 
#4

Re: DOS Screenshot

  Alt 12. Apr 2004, 19:23
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.
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: DOS Screenshot

  Alt 12. Apr 2004, 20:03
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
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Gombel

Registriert seit: 12. Apr 2004
9 Beiträge
 
Delphi 6 Professional
 
#6

Re: DOS Screenshot

  Alt 13. Apr 2004, 10:36
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.
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: DOS Screenshot

  Alt 13. Apr 2004, 13:20
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


gruss,
dizzy
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Gombel

Registriert seit: 12. Apr 2004
9 Beiträge
 
Delphi 6 Professional
 
#8

Re: DOS Screenshot

  Alt 13. Apr 2004, 17:48
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.
  Mit Zitat antworten Zitat
malloc
(Gast)

n/a Beiträge
 
#9

Re: DOS Screenshot

  Alt 13. Apr 2004, 18:46
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz