ActivateWindow für Konsole
- Ironsmurf
- Beiträge: 111
- Registriert: 04.01.2006 12:57
- Computerausstattung: AMD FX(tm)-6300 Six-Core Processor
3.50 GHz / 8 GB Ram
Windows 7 / 64bit / Ultimate
Purebasic 5.20 LTS (Windows - x86) - Wohnort: Deutschland
ActivateWindow für Konsole
Hallo zusammen
habe ein Konsolenprogramm geschrieben, das andere Programme über RunProgram aufruft, funktioniert auch alles gut, aber es gibt ja immer einen kleinen Wermutstropfen.
Wenn der RunProgram Befehl ausgeführt wurde, ist das gestartete Programm aktiv und nicht das Konsolenprogramm.
Frage: Wie muss ActivateWindow in einem Konsolenprogramm eingebaut werden, so das nach der Ausführung des Runprogram Befehls das Konsolenprogramm wieder aktiv ist ?
Vielen Dank für eure Mühe im voraus
habe ein Konsolenprogramm geschrieben, das andere Programme über RunProgram aufruft, funktioniert auch alles gut, aber es gibt ja immer einen kleinen Wermutstropfen.
Wenn der RunProgram Befehl ausgeführt wurde, ist das gestartete Programm aktiv und nicht das Konsolenprogramm.
Frage: Wie muss ActivateWindow in einem Konsolenprogramm eingebaut werden, so das nach der Ausführung des Runprogram Befehls das Konsolenprogramm wieder aktiv ist ?
Vielen Dank für eure Mühe im voraus
Es kommt immer auf die Sichtweise des Betrachters an.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
geht das nicht mehr mit
afaik wird beim öffnen mit nummer (nicht mit #PB_Any) das Handle zurückgegeben.
jedenfalls war das unter 3.9x so...
Code: Alles auswählen
hWnd = OpenConsole( #Nr, ... )
jedenfalls war das unter 3.9x so...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Seit wann hat die Console ne Numer ?Kaeru Gaman hat geschrieben: afaik wird beim öffnen mit nummer (nicht mit #PB_Any) das Handle zurückgegeben.
jedenfalls war das unter 3.9x so...
Es kann nur eine Console geöffnet werden, das war schon immer so, deshalb
auch keine Nummer und kein #PB_Any

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Hatte OpenConsole ueberhaupt jemals nen Parameter ?
Und zurueck kommt auch kein Handle.
>> ... aber am einfachsten wirds wohl mit FindWindow_(0,"Fenstertitel") gehen.
Nein , mit GetConsoleWindow geht es einfacher.
Beispiel :
Und zurueck kommt auch kein Handle.
>> ... aber am einfachsten wirds wohl mit FindWindow_(0,"Fenstertitel") gehen.
Nein , mit GetConsoleWindow geht es einfacher.
Beispiel :
Code: Alles auswählen
import "kernel32.lib"
GetConsoleWindow_() as "_GetConsoleWindow@0"
endimport
If OpenConsole()
Handle = GetConsoleWindow_()
RunProgram("calc.exe")
Delay(50) ; warten bis das programm fertig geladen wurde
SendMessage_(Handle,#WM_ACTIVATE,#WA_ACTIVE,0)
Input()
CloseConsole()
EndIf
eine andere Idee wäre diese:
Zu dem Zeitpunkt, wo du gena weißt, das das Konsolenfenster aktiv und im Vordergrund ist, speicherst du sein Handle ganz einfach mit GetForegroundWindow_().
Wenn das Programm in den Vordergrund geholt werden soll, reicht dann ein einfaches SetForeGroundwindow_(hWnd).
Zu dem Zeitpunkt, wo du gena weißt, das das Konsolenfenster aktiv und im Vordergrund ist, speicherst du sein Handle ganz einfach mit GetForegroundWindow_().
Wenn das Programm in den Vordergrund geholt werden soll, reicht dann ein einfaches SetForeGroundwindow_(hWnd).
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22