Prüfen ob BB-Fenster aktiv ist
Übersicht BlitzBasic Allgemein
faeXBetreff: Prüfen ob BB-Fenster aktiv ist |
So, Mai 01, 2011 15:39 Antworten mit Zitat |
|
---|---|---|
Hallo.
Habe hier schon gesucht wie man überprüft ob das B3D-Fenster aktiv ist (kein B+!). Von der WinAPI habe ich absolut keine Ahnung, zumal ich auch nicht weiß, wie man an das eigene Fensterhandle kommt. AutoSuspend ist NICHT das was ich suche. Wie sehen die decls aus um a) an das eigene Fensterhandle, b) an das aktive Fensterhandle zu kommen? Mit freundlichen Grüßen |
||
Der Eisvogel |
So, Mai 01, 2011 15:47 Antworten mit Zitat |
|
---|---|---|
Für das eigene Fenster-Handle kannst du SystemProperty mit dem Parameter "ApphWnd" verwenden.
Um das aktive Fenster deines Programms zu bekommen, nutze GetActiveWindow() aus der WinAPI. Um das aktive Fenster generel oder auch das Vordergrundfenster zu bekommen, nutze GetForegroundWindow(). Decls: Zitat: .lib "user32.dll"
GetActiveWindow%() = "GetActiveWindowA@0" GetForegroundWindow%() = "GetForegroundWindow@0" Ich hoffe die Decls stimmen. Hab schon lange keine mehr für B3D geschrieben 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. |
faeX |
So, Mai 01, 2011 15:55 Antworten mit Zitat |
|
---|---|---|
Ohne Witz: Blitz3D startet mit der .decls nicht mehr. Im Taskmanager kann man Blitz3D und blitzcc noch unter den Prozessen sehen, aber es kommt kein Fenster. Ohne die .decls gehts...
Hab IDE V1.106. Edit: Win7 64bit |
||
faeX |
So, Mai 01, 2011 16:01 Antworten mit Zitat |
|
---|---|---|
Zitat: .lib "user32.dll"
GetActiveWindow%(): "GetActiveWindowA@0" GetForegroundWindow%(): "GetForegroundWindow@0" Edit: Zitat: User lib function not found
bei GetActiveWindow(). Wird aber gehighlightet, die Userlib akzeptiert er also. Edit: Zitat: .lib "user32.dll"
GetActiveWindow%(): "GetActiveWindow" GetForegroundWindow%(): "GetForegroundWindow" Jetzt geht's. |
||
Der Eisvogel |
So, Mai 01, 2011 16:15 Antworten mit Zitat |
|
---|---|---|
Jau stimmt hab "=" mit ":" verwechselt. Und GetActiveWindow hat wohl doch kein A hinten dran. Ich hätte schwören können es hätte mal eins gehabt.
Also so sollte es dann gehen: Zitat: .lib "user32.dll"
GetActiveWindow%() : "GetActiveWindow@0" GetForegroundWindow%() : "GetForegroundWindow@0" 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. |
Übersicht BlitzBasic Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group