![]() |
DosBox Vollbild wiederherstellen
Hi,
ich habe mir ein kleines Prog geschrieben welches eine Dos-Anwendung startet, ziel ist es das die Dos-Anwendung nur einmal gestartet werden kann und nicht ein zweites mal. Was bisher funktioniert: Mein Programm startet die Dos-Anwendung und versteckt sich so gleich. Jetzt verhindere ich per mutex das mein Programm nur einmal gestartet werden soll, ergo die Dos-Anwendung wird auch nicht noch mal gestartet. Soweit so gut, jetzt hatte ich die idee wenn die Dos-Anwendung minimiert auf der Taskleiste liegt, und mein Programm wird erneut gestartet das mein Programm darauf reagiert und anstatt die Dos-Anwendung ein 2. mal zu öffnen die bisherige Anwendung "wiederherzustellen" sprich anzuzeigen. Jetzt kommt das Problem, wenn die DosBox ein Fenster ist klappt alles wunderbar, jedoch wenn die Dos-Anwendung im Vollbild modus läuft und dann minimiert wird, weil z.B. per ALT+TAB in eine Windows Anwendung gewechselt wurde und dann wird mein Programm aufgerufen wird zwar die Dos-Anwendung aktiviert jedoch wird nicht in den Dos Vollbild modus gewechselt. Hat jemand eine Idee wie ich das hinbekommen kann, es fehlt nur noch das letzte stückchen bis mein Programm das macht was es soll bzw. was ich von ihm erwarte ;-) mfg TUX |
Re: DosBox Vollbild wiederherstellen
Funktioniert
Delphi-Quellcode:
denn nicht?
ShowWindow(hwnd,SW_SHOWMAXIMIZE);
|
Re: DosBox Vollbild wiederherstellen
Hi,
sorry das ich jetzt erst antworte, ich war 3 Wochen im Urlaub. So das Problem besteht nach wie vor. ShowWindow(hwnd, SW_SHOWMAXIMIZED) bringt gar nichts, die Dosbox wird zwar aktiviert, auf der Taskleiste zuerkennen. Jedoch wird die DosBox nicht in den Vordergrund geholt, ein Windows.SetForegroundWindow(hwnd) zeigt auch keine Wirkung. So langsam scheint es mir als würde soetwas nicht funktionieren. mfg TUX |
Re: DosBox Vollbild wiederherstellen
Wie wäre es mit
![]() Gerade noch gesehen: im MSDN nennt man als dritten Parameter einen Pointer auf eine COORD-Struktur. Allerdings habe ich in einem ![]() Holla, und auf der russischen Seite steht auch wunderbar beschrieben, wie es unter Windows 9x geht (Schnellübersetzung): Zitat:
|
Re: DosBox Vollbild wiederherstellen
Moin auch!
Das Handle deiner Anwendung hast du ja. Also:
Delphi-Quellcode:
Bei Windows95/98/ME muß das Teil wie im Schnipsel dreimal aufgerufen werden. Bei NT/2K/XP reicht einmal. Schon kommt das abgelegte Bild wieder zum Vorschein.
SetForegroundWindow(aWinHandle);
ShowWindow(aWinHandle,SW_RESTORE); SetForegroundWindow(aWinHandle); ShowWindow(aWinHandle,SW_RESTORE); SetForegroundWindow(aWinHandle); ShowWindow(aWinHandle,SW_RESTORE); Stefan |
Re: DosBox Vollbild wiederherstellen
Hi,
also der letzte hinweis, mit dem dreimaligen ausführen des Codes hat es gebracht, da es sich um ein Win98 Rechner handelt konnte ich vorheriges nicht ausprobieren. Vielen dank für die Hilfe, da muß man erst mal drauf kommen das das so funktioniert ;-) mfg TUX |
Re: DosBox Vollbild wiederherstellen
Das ist bestimmt auch nicht der offizielle Weg. :wall:
|
Re: DosBox Vollbild wiederherstellen
Zitat:
Wie ich jetzt allerdings hellsehen sollte, daß der Fragesteller Windows 98 benutzt :gruebel: ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 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