WINAPI: can't re-set focus on Bmax app
Übersicht

Guamtmsou G.Betreff: WINAPI: can't re-set focus on Bmax app |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
if have the hwnd id of the bmax window, and i tried:
SetForegroundWindow(HWnd) SetActiveWindow(hwnd) but on Win7 64 seems there are no effects... (p.s. SetWindowPos works fine) any ideas on what I'm doing wrong? |
||
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Leute,
Ich habe im moment exakt das selbe Problem.. Ich kann zwar ein Fenster "aufpoppen" lassen, aber der Fokus liegt nach wie vor auf dem Fenster darunter.. Ich habe schon alles mögliche Versucht, aber ich bekomm den Fokus einfach nicht sofort automatisch auf das input Feld im aufpoppenden Fenster. Folgendes habe ich schon versucht: BlitzMax: [AUSKLAPPEN] If IsKeyPressed(32) And IsKeyPressed(162) Then Wie gesagt poppt das Fenster auf und blink die ganze Zeit, bekommt aber keinen Fokus. Ich teste das ganze unter Windows 7, 64 bit. Habt ihr ne Idee was Ich noch versuchen könnte? |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist zum glück nicht so ohne weiteres möglich. So ein plötzlich den fokus klauendes fenster ist nämlich sehr nervig. | ||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich verstehe nicht so ganz das Problem. Wenn ich ein Fenster & Textfeld erstelle, liegt das problemlos vor dem Parent [MaxGUI].
Edit: Dialogfenster erscheint vor dem Main Window und das Textfeld ist ausgewählt. BlitzMax: [AUSKLAPPEN] SuperStrict |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja in deinem Beispiel funktioniert das..
Nur möchte ich gerade ein Programm schreiben, mit dem ich viele andere Programme starten kann. Und diesen "App-Starter" möchte ich mit einer Tastenkombination aufpoppen lassen.. Habe ich jetzt vorher, aber zum Beispiel mit meinem App starter Firefox mit Google aufgerufen und möchte dann das Fenster erneut aufpoppen lassen, bekommt das Textfeld keinen Fokus und das oben geschilderte Problem entsteht.. @Btbn das ist mir schon klar, nur deswegen habe ich ja nicht gefragt. Bei meinem Programm will schließlich der User, dass das Fenster sich in den Vordergrund drängt.. Daher die Frage ob es dafür einen Workaround gibt. Trotzdem vielen Dank schonmal an euch beide! |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
Guamtmsou G. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Xeres hat Folgendes geschrieben: Ich verstehe nicht so ganz das Problem. Wenn ich ein Fenster & Textfeld erstelle, liegt das problemlos vor dem Parent [MaxGUI].
and whitout maxgui? or using maxgui on a d3d window? Code: [AUSKLAPPEN] Graphics 300,300
delay(10000) setfocusnewfunction() delay(10000) there is some way to write setfocusnewfunction() using something like mas93 code? |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mhh. Meistens funktioniert der Wechsel problemlos, ganz selten bekomme ich das im-Hintergund-blinken Ergebnis.
BlitzMax: [AUSKLAPPEN] SuperStrict @Guamtmsou G. Do you have an example code? How do you get the hwnd id without MaxGUI? |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Xeres Ja bei mir tritt es auch nur manchmal auf, aber das will ich nun halt irgendwie verhindern.
Habt ihr keine Idee wie ich das eventuell mit der Winapi lösen könnte? Ein andere Workaround wäre eventuell einen Mausklick auf mein Fenster zu simulieren und es somit zu aktivieren. Ich bin mir aber nicht sicher ob das funktioniert. Das Hwnd bekommt man übrigens so: BlitzMax: [AUSKLAPPEN] QueryGadget(winMain, QUERY_HWND) winMain ist hier das Fenster Gadget handle |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
msdn - SetForegroundWindow Function
Zitat: An application cannot force a window to the foreground while the user is working with another window. Instead, Windows flashes the taskbar button of the window to notify the user.
Wenn man im falschen Moment über ein Menü fährt, wird das Fenster nicht in den Vordergrund gebracht. Da es ja in 95% der Fälle funktioniert, könntest du es einfach mehrmals versuchen... BlitzMax: [AUSKLAPPEN] SuperStrict Funktioniert super, auch wenn ich über einem Menü herum kreise. Das man mit QueryGadget das HWND handle bekommt weiß ich - aber das ist eine MaxGUI Funktion, Guamtmsou schien ja nicht damit zu arbeiten. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Xeres also ich habe dein Beispiel jetzt mal ausprobiert, aber bei mir hat es kein einziges mal funktioniert..
Auf was für einem System arbeitest du? |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Siehe Signatur. Du könntest noch probieren, das Fenster auf Always on Top zu schalten bevor du etwas startest. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie schalte ich das Fenster auf Always on Top?
Edit: Okay das Problem ist nach wie vor einfach, dass das Fenster zwar aufpoppt und vorne ist, jedoch blinkt und das Textfield keinen Fokus hat.. |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group