AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi gettopwindow (0) funktioniert nicht richtig!
Thema durchsuchen
Ansicht
Themen-Optionen

gettopwindow (0) funktioniert nicht richtig!

Ein Thema von Arnulf · begonnen am 27. Mai 2005 · letzter Beitrag vom 28. Feb 2007
 
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#1

gettopwindow (0) funktioniert nicht richtig!

  Alt 27. Mai 2005, 14:59
Hi
Mal wieder ich, mit einem problem, daß vermutlich noch nie jemand hatte ...
Mir ist es wichtig, herauszufinden welches fenster gerade also oberstes angezeigt wird.
Z - order in dem sinn.
In der z - order liegen aber meißtens die tray icons - was mich jetzt nicht besonders stören würde, weil das im vollbild nicht der fall ist.
Und mir ist vollbild wichtig!

hier mal mein bisheriger code von dem ich dachte er funktioniert perfekt:
Delphi-Quellcode:
         wndHandle := FindWindowEx(0 ,0 , GAMEWINDOWNAME, nil); //
            if wndHandle > 0
            then begin
                 ZeroMemory(@WPlacement,SizeOf(WPlacement));
                 GetMem(WPlacement,SizeOf(TWINDOWPLACEMENT));
                 WPlacement^.Length:=SizeOf(TWINDOWPLACEMENT);
                 if GetWindowPlacement(WndHandle,WPlacement)
                 then begin
                      WRect := WPlacement.rcNormalPosition;
                      if (WRect.Left = 0) and (WRect.Top = 0) and (WRect.Right = Screen.Width) and (WRect.Bottom = Screen.Height)
                      then begin
                           wnd := gettopwindow(0); // das hier funktioniert nicht richtig!!!
                           if (wnd <> wndHandle) then
                           begin
                                fMain.GameSay('AC: Overlay detected:' + GetProcessNameFromWnd(wnd));
                                CheatInfo := ('Radeon Bug Window Overlay' + GetProcessNameFromWnd(wnd));
                           end;
                           end;
                      end;
                 end;
Das hat auch gut funktioniert bei mir zu hause - aber sobals ich das auf die menschheit losgelassen hab, gabs chaos.
Wenn ich die Auflösung des Programms ändere, dann wird als top window explorer.exe ausgegeben.
Wärend des Auflösung wechselns hätte mich das nicht so verwundert, aber das bleibt.
Wenn das Programm in den normalen zustand zurückkehrt ( also full screen ) und damit an oberster stelle am desktop geht gettopwindow nicht mehr richtig.
Das funktioniert erst wieder, wenn man auf fenster modus schaltet und dann wieder auf full screen - dann stimmts wieder.
Kann sich jemand einen reim darauf machen.
Das macht mich ziemlich wahnsinnig, weil ich lange nach einer guten Lösung gesucht hab und jetzt wieder am Anfang steh .

Arnulf
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:36 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