Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Form immer im vordergrund (https://www.delphipraxis.net/69703-form-immer-im-vordergrund.html)

Vjay 18. Mai 2006 22:49

Re: Form immer im vordergrund
 
Also bei mir macht es das hier:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
 setWindowPos(handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_SHOWWINDOW);
end;
Es gibt natürlich zwei Möglichkeiten dass es trotzdem nicht funktioniert, die nicht unbedingt mit deinem Programm zu tun haben.
1. Das Spiel verwendet selbige Technik um sich nach vorne zu bringen (es kann nunmal nur ein Fenster ganz vorne sein).
2. OpenGL/Direct3d "übermalt" es einfach.

Versuch mal die Forumssuche, glaube mich zu erinnern, dass jemand vor einiger Zeit das gleiche versucht hat. Der saubere Weg wäre dennoch ein Hook auf die verwendete Grafikbibliothek. Gibt es glaube ich auch Beispiele bei google, ist auch garnicht so schwer zu programmieren, wenn man einmal verstanden hat wie es funktioniert.

Um zwischen 1 und 2 zu unterscheiden setzt du dir einen Timer aufs Form mit Intervall 1 und zeichnest dort das Form neu. Wenn das Form plötzlich im Spiel flackernd sichtbar ist (wovon ich ausgehe) wird es lediglich von d3d etc. übermalt.

Gruss

*EDIT*
Jap dann wirst du übermalt, also entweder mit Timer dich ständig neu zeichnen = flickernd sichtbar oder direct3d hooken.
Das Form anklicken kannst du nicht, da sobald es den Focus erhält Warcraft sich minimiert.

ghost007 18. Mai 2006 22:50

Re: Form immer im vordergrund
 
ok, probier ich gleich aus

ghost007 18. Mai 2006 22:55

Re: Form immer im vordergrund
 
:oops: :wall:
Es flackert nicht mal ... nur wenn ich an die stelle geh, wird mein cursor zu nem normalen cursor, wenn ich klicke, komme ich in 's windows

[EDIT]Das is aber komisch, weil ich das form zwar nicht sehe, bin aber in wacraft drin, undw enn ich an die stelle klicke, an der es im windows ist, dann minimiert sich warcraft :(

Dann muss ich wohl hooken, kannst du mir da ein tutorial empfehlen?
Weil ehrlich gesagt finde ich in google nix und hier im forum auch net :?

Das schaut dann so aus:
http://p4p4schlumpf.p4.funpic.de/Cursor.jpg
Nur das auf dem warcraft cursor nich der normale windows pfeil ist.(der wir ja bei screenshots net mit gespeichert)

jim_raynor 19. Mai 2006 05:54

Re: Form immer im vordergrund
 
Ich würde nicht versuche WOW zu hooken. Es könnte dann schnell passieren, dass dein Account wegen Cheating gesperrt wird ... Lass WOW einfach im Fenstermodus laufen. Dann klappt das definitiv mit dem Top-Most. Oder nimm einen zweiten Monitor und lass das Programm dort laufen ;)

Vjay 19. Mai 2006 09:25

Re: Form immer im vordergrund
 
Er schrieb Warcraft 3, nicht World of Warcraft ;)

Ok aber J.R. hat natürlich Recht, bei einem Hook musst du dich in den Spiele-Prozess einklinken und es gibt Spiele wie WoW die dieses bemerken und dir wirklich übel nehmen.

Wenn du es trotzdem so machen möchtest, kann ich dir "uallHook" von Brechi, oder madCodeHook von www.madshi.net ans Herz legen. Beide bieten sehr gute Möglichkeiten Fremdprogramme umzubiegen.

Was du also tun musst, solltest du den Aufwand wagen ist ein simpler (simpel dank den Units der beiden) Codehook auf die Flip-Funktion von Direct3d. Das ist es, wie z.B. Fraps funktioniert.
Die Lösung mit dem zweiten Monitor dürfte allerdings einfacher sein ;)

ghost007 19. Mai 2006 12:50

Re: Form immer im vordergrund
 
hi,
1 frage: was meinst ihr mit nem 2ten monitor? hardware monitor? oder was?

ghost007 19. Mai 2006 13:59

Re: Form immer im vordergrund
 
komisch ... :wall:

jim_raynor 19. Mai 2006 14:10

Re: Form immer im vordergrund
 
Zitat:

Zitat von ghost007
hi,
1 frage: was meinst ihr mit nem 2ten monitor? hardware monitor? oder was?

Ja, korrekt ;)

ghost007 19. Mai 2006 14:57

Re: Form immer im vordergrund
 
was 'n das für ne schwachsinnige lösung?
nen 2ten monitor kaufen für 'n programm?
Das soll bei anderen leuten auch noch laufen ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:42 Uhr.
Seite 2 von 2     12   

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