Entwickler-Ecke
Windows API - ohne alt-tabulator zu einem programm direkt wechseln?
flohle - Sa 26.06.04 17:22
Titel: ohne alt-tabulator zu einem programm direkt wechseln?
Könnt ihr mir bitte einen tipp geben wie ich ohne die tasten alt-tabulator zu simulieren DIREKT zu einem laufenden programm wechseln kann? need help!
mfG floh
Moderiert von
Tino: Topic aus Sonstiges verschoben am So 27.06.2004 um 01:09
Motzi - Sa 26.06.04 17:24
Also ich würde einfach das entsprechende Fenster in den Vordergrund setzen.. aber sag mal genauer was du machen willst...
flohle - Sa 26.06.04 17:28
Also ich hab mein Delphi Programm laufen und will dann zu nem anderen wechseln also des andere in den Vordergrund holen. Hab leider keine Ahnung wasses da für Befehle gibt :oops:
stimmt schon ich will des andere programm in den vordergrund holen
floh
raziel - Sa 26.06.04 17:51
Hallo,
zuerst mit
FindWindow das Handle des Fensters holen und dann mit
SetForeGroundWindow nach vorne setzen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| function FindWindow( lpClassName, lpWindowName: PChar ): HWND;
function SetForegroundWindow( hWnd: HWND ):Boolean; |
ClassName und
WindowName findest am besten mit Hilfe von
X-Spy [
http://www.delphi-forum.de/viewtopic.php?t=2558] heraus.
//edit: achtung! x-spy hat bei mir grad meinen schönen desktop durcheinandergewirbelt... jetz darf ich wieder alles sortieren :bawling:
raziel
Motzi - Sa 26.06.04 18:01
@raziel: Docking deaktivieren und/oder auf die nächste Version warten die sich die Icon-Positionen merkt und wiederherstellt..! ;)
@flohle: kannst du ein bisschen genauer werden..? ;) Ist das ein bestimmtes Programm? Wenn ja, welches...
flohle - Sa 26.06.04 18:02
Puuhh leider bin ich noch n bisschen ein noob in delphi- erst mal gucken wie ich des alles so hinkrieg...
aber mit dem x-spy kann ich nichts in meinem selbst-gebauten programm anfangen oder?
flohle - Sa 26.06.04 18:04
Tja des is ne exe von nem spiel- ich hoff mit der info kannst du was anfangen :| ich will praktisch des spiel in den vordergrund holen.
humm nunja die vorschläge von raziel blick ich no net ganz. mal gucken ^^
florian
raziel - Sa 26.06.04 19:32
Hi,
Ich denke, das sind weit zu wenig Infos.
Zuerst holst Dir mal X-Spy von Motzi (siehe oben), startest es und klickst das Symbol links unten.
Dann startest Du das Spiel. Anschließend wechselst Du wieder zu Windows (Alt+Tab, Alt+Enter etc) und gehst auf die X-Spy Window List. Da suchst Du Dir Dein Spiel raus und notierst Dir
Windows Text und
ClassName.
Dann beendest beides und gehst in Dein Delphi Projekt und fügst da, wo Du das Spiel in den Vordergrund bringen willst das hier ein:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| var h_Wnd: HWND;
h_Wnd := FindWindow('CLASSNAME EINFÜGEN', 'WINDOW TEXT EINFÜGEN'); if (h_Wnd <> 0) then SetForegroundWindow(h_Wnd); |
Nicht getestet, müsste aber deoreddisch funxionieren (hoff ich - sonst hab ich grad umsonst mein Desktop wieder durcheinandergworfn)
raziel
flohle - Sa 26.06.04 19:51
Nunja ich sag schon mal dicken Dack für deine Bemühung es funzt auch nur der Befehl setforeground is nich der richtige.. in der systemleiste is des spiel schon aktiv nur des fenster taucht net auf!
:( gibts da vielleicht einen befehl für maximieren? dann würds auf jeden fall funzen!
Aber trotzdem vielen dank dass du ffür mich deinen desktop zerwühlst :|
florian
raziel - Sa 26.06.04 21:13
Du könntest statt
SetForeGroundWindow mal
ShowWindow ausprobieren:
Delphi-Quelltext
1:
| ShowWindow(h_Wnd, SW_SHOWMAXIMIZED); |
raziel
flohle - Sa 26.06.04 21:26
JOPP! der Befehl zieht! wie nommal was! :D aber einen haken hat die ganze sache noch: jedesmal wenn ich des spiel starte hat es ein anderes handle... :( blöde sache! da müsste ich jetz glatt wissen wie man das handle von dem fenster ausliest.. :oops: help!
floh
HAAALT!! ich ahbs anders gemacht als du am anfang beschrieben hast ich brauch die handle ja gar net!!!
Jetz funzt alles! vielen dank! nett dass du dich so reingehängt has tich markier dat hier als gelöst! :D :D :D
raziel - So 27.06.04 09:31
flohle hat folgendes geschrieben: |
vielen dank! nett dass du dich so reingehängt has tich markier dat hier als gelöst! :D :D :D |
Kein Problem, aber was ich schon die Posts vorher sagen wollte:
imho heißts "Ave Imperator, mor
ituri
te salutant." ;-)
raziel
flohle - So 27.06.04 11:50
mann! etz hab ich latein im.. mom lass mich überlegen: 4ten Jahr!
Is klar te salutant.. (de heißt ja aus- douh) aber morIturi??? :/
lass mich nachgucken! :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!