Pausemodus

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Jamagin

Betreff: Pausemodus

BeitragDi, Okt 09, 2012 8:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht kann mir jemand behilflich sein bei folgendem Problem. Wenn ich ein Programm mit Blit3D mit Alt-TAB auf die Taskleiste lege, sollte das Programm in den Pausemodus wechseln! Hat da schon jemand Erfahrung darin wie man das umsetzt? Es gibt zwar den Auto-Suspend-Modus aber dann kann man die Programme nicht im Vollbild ausführen! Gibt es eine Windows Funktion dafür? (Fenster inaktiv)

Es wäre mir sehr geholfen damit!


lg. Jamagin
Bevor du etwas neues beginnst, erledige das alte

the FR3AK

BeitragDi, Okt 09, 2012 12:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hole dir mithilfe von WinAPI Funktionen beim Start dein Fensterhandle und überprüfe in deiner Hauptschleife immer, ob das Handle deines Fensters mit dem das gerade aktiv ist übereinstimmt. Wenn nicht, dann gibts ne Pause bis es wieder passt.

Mal so als grober Ansatz, keine Ahnung inwiefern das in B3D möglich ist.

Jamagin

BeitragDi, Okt 09, 2012 17:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Hat jemand sowas schon gemacht? Ich wäre sehr dankbar!

lg. Jamagin
Bevor du etwas neues beginnst, erledige das alte

the FR3AK

BeitragDi, Okt 09, 2012 17:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Das könnte dir helfen: https://www.blitzforum.de/foru...php?t=7330

Das oberste Fenster bekommst du glaube ich mit GetForegroundWindow() (musst aber schauen, wie die Funktion in den decls steht) Mit dieser Funktion hast du eigentlich schon alles was du brauchst.

Der Eisvogel

BeitragDi, Okt 09, 2012 22:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Jamagin,

das ist eigentlich recht einfach. Mit der blitzeigenen Funktion SystemProperty und dem Paramter "ApphWnd" bekommst du das Handle deines Fensters:
BlitzBasic: [AUSKLAPPEN]
Local hWnd% = SystemProperty("ApphWnd")


Mit der Funktion GetActiveWindow aus der WinAPI kannst du abfragen, welches Fenster deiner Anwendung gerade aktiv ist. Da du nur ein Fenster hast, kann es entweder das oder keins sein. Somit musst du nur noch der Rückgabewert mit deinem Handle vergleichen:
BlitzBasic: [AUSKLAPPEN]
If hWnd = api_GetActiveWindow() Then ...


Wie man die Funktion einbindet, zeigt der Link von "the FR3AK".

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Jamagin

BeitragSo, Okt 14, 2012 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja danke! Das klappt ja ganz toll!!!

Vielen Dank!


lg. Jamagin
Bevor du etwas neues beginnst, erledige das alte

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group