Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 249440 (10876)

| Suchen
| Zurück zur Übersicht

Autor | Thema: Wie kann ich ein fremdes Fenster...
Ogul G.
| Datum:26.09.01 22:13 (GOgul@t-online.de) |
immer im Vordergrund halten. ? Ich hab' einen großen Windows Fenster erstellt, nun lasse ich zB. den Notepad per Shell Befehl aufrufen, aber wenn ich dann auf mein Fenster klicke, verschwindet Notepad in den Hintergrund. Wie kann ich es immer im Vordergrund halten ?? Bin für jede Hilfe sehr dankbar. Ogul G.
Jörg Sellmeyer
| Datum:26.09.01 22:56 (joerse@gmx.de) |
Hallo, Mit der Funktion @FindWindow(S) kannst Du das Handle des Fensters ermitteln und dann mit Setwindowpos in den Vordergrund setzen. Gruß Jörg
Ogul Gökhan
| Datum:27.09.01 00:01 (GOgul@t-online.de) |
Danke, aber ich frage mal ganz anders, so wie ich es eigentlich brauche: Ich will ein Fenster mit Menüs stets im Hintergrund halten, es soll immer im Hintergrund erscheien, auch wenn ich Notepad.exe starte und zwischen den Fenstern hin- und her klicke. Aber da verschwindet Notepad in den Hintergrund und ich kann es nicht mehr herholen. Klar kann ich mit @Findwindow es wieder zum vorschein bringen, aber da zu viele Programme gleichzeitig drauf sein werden, ist es besser das Hauptfenster irgendwie so zu programmieren daß es immer im Hintergrund erscheint. wer kann mir da weiterhelfen ? Ich müsste irgendetwas mit der %HWND anstellen, aber nur wie.
Jörg Sellmeyer
| Datum:27.09.01 18:19 (joerse@gmx.de) |
Hallo, Dann schau Dir doch Setwindowpos nochmal an und wende es mit Deinem Fensterhandle an. Gruß Jörg
Ogul G.
| Datum:27.09.01 22:06 (GOgul@t-online.de) |
Hi, ja aber wenn ich mit mehrerern Fenstern arbeite kann es Chaos geben, wenn die eine über dem anderen angezeigt wird. Idel wäre, das Hauptfenster in jeder Schleife in den Hintergrund zu setzen bzw. umzuschalten. Hab' folgenden API Befehl gefunden: SetForegroundWindow (1) Damit kann ich ein beliebiges Fenster wie Setwindowpos in den Vordergrund setzen. Jetzt hoffe ich daß es einen API Befehl gibt, der das gegenteile bewirkt, also es in den Hintergrund setzt. Gibt es so ein API Befehl ? Dann kann ich nämlich mein Hauptfenster ständig im Hintergrund halten. cu Ogul G.
Ogul G.
| Datum: 28.09.01 00:28 (GOgul@t-online.de) |
Ok, hab' das Problem auf eine andere Art und Weise gelöst ,so daß ich alle offenen Fenster abfragen und in den Vordergrund setzen kann. folgende API Befehle habe ich dafür verwendet: Def GetWindow(2) !"USER32","GetWindow" Def GetClassName(3) !"USER32","GetClassNameA" Def IsWindowVisible(1) !"USER32","IsWindowVisible" Def GetWindowLong(2) !"USER32", "GetWindowLongA" Def GetClassLong(2) !"USER32","GetClassLongA" Hat & den Wert=%Hwnd wird nach Fenster gesucht (Handle wird gespeichert) die offen sind und diese werden dann mittels schleife in den Fordergrund gesetzt. Einen direkten Befehl, der den Hauptfenster immer im Hintergrund behält, habe ich leider nicht gefunden, das wäre dann nämlich die bessere Lösung. Danke für Deine Hilfe. :) mfG Ogul G.

| Zurück zur Übersicht