![]() |
Programm "Deaktivieren"
Hallo alle zusammen,
ich habe ein kleines Problem, aber ich bin sicher, dass ihr das mir links bewältigt: Ich möchte das Fenster, das aktiviert war, bevor ich meine Anwendung geöffnet habe, wieder in den Vordergrund bringen. Gibt es da irgendeinen Code dafür? Vielen Dank schon mal für die Antworten S2B |
Re: Programm "Deaktivieren"
ich bin nicht sicher, obs geht, aber versuch mal ein Alt+Tab zu simulieren
du kannst aber auch deine Eigene Anwendung einfach nur minimieren |
Re: Programm "Deaktivieren"
@Skiron:
Vielen Dank, dass du so schnell geantwortet hast! Irgendwie funzt das mit dem minimieren nicht ganz oder es liegt an etwas ganz anderem!? Ich hab nämlich erst vor kurzem angefangen, zu programmieren. Ich schick einfach mal den Code:
Delphi-Quellcode:
Ich hab keine Ahnung, was falsch sein könnte(bin ja auch noch nicht so erfahren :-D)!
var hWnd: DWORD;
procedure TForm1.FormCreate(Sender: TObject); begin application.Minimize; hWnd:=GetNextWindow(hWnd, GW_HWNDNEXT); application.Restore; end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key=VK_F10 then SendMessage(hWnd, WS_EX_TOPMOST, 0, 0); end; Ich freue mich über Antworten S2B [edit=r_kerber]Delphi-Tags eingefügt. Mfg, r_kerber[/edit] |
Re: Programm "Deaktivieren"
HI!
Was willst du denn genau erreichen? Und was geht nicht? Gibts Fehlermeldungen? Ciao fkerber |
Re: Programm "Deaktivieren"
Ich möchte eigentlich die Anwendung, die vorher im Vordergrund lag, auf den ganzen Bildschirm gleichmäßig verteilen und die anderen minimieren! Nur um das zu erreichen brauche ich die Anwendung, die vorher lief. Das Problem ist nur, dass, wenn ich F10 drücke(siehe Code), die von mir programmierte Anwendung im Vordergrund bleibt und nicht z.B. Delphi in den Vordergrund kommt! Also wähle ich das vorherige Fenster irgentwie falsch aus!
Ich hoffe, du weißt da irgentwie weiter! S2B |
Re: Programm "Deaktivieren"
Hi!
Vielleicht liegt es auch an deiner SendMessage: Schau mal hier und versuch es mit der Funktion: ![]() Ciao fkerber |
Re: Programm "Deaktivieren"
WS_EX_TOPMOST ist ein erweiterter Windows-Stil. Und keine Nachricht, die man mit SenMessage an irgend was verschicken könnte.
So geht es mehr oder weniger:
Delphi-Quellcode:
Musst du wohl noch etwas darn rumfeilen.
procedure TForm1.WndProc(var msg: TMessage);
var hWnd: THandle; begin inherited; case msg.Msg of WM_ACTIVATE: begin if msg.WParam = WA_ACTIVE then begin hWnd := GetWindow(Handle, GW_HWNDPREV); SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE); end; end; end; end; |
Re: Programm "Deaktivieren"
Danke für die Antworten. Ich werden den Code probierern. Bei MSDN hab ich auch schon rungesucht aber auf diese Seite bin ich noch nicht gekommen! Nochmal vielen Dank!
Cu S2B |
Re: Programm "Deaktivieren"
@Luckie: Ich verstehe deinen Code irgentwie gar nicht. Wie soll ich den in meine Anwendung einbauen(ich bin noch "Delphi-Anfänger")? Könntest du versuchen, ihn "anfängergerecht" zu erklären?
Schon mal danke und cu S2B |
Re: Programm "Deaktivieren"
Ich hab noch ne allgemeine Frage zu diesen Codes mit dem "_":
Was gibt es da für welche? Die, die ich verwendet hab, hab ich irgendwo im Internet zusammengesucht und ich hab ein paar von MSDN, da weiß ich aber nicht, wie man die verwenden soll. Bis jetzt hab ich nur "WM_CLOSE" hingekriegt(Ihr merkt, dass ich ein echter Anfänger auf diesem Gebiet bin. Sorry, dass ich solche Fragen stellen muss...). Ich würde mich freuen, wenn sich einer erbarmt und die Frage beantwortet... :-D S2B |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz