![]() |
ChangeDisplaySettings Hooken
Liste der Anhänge anzeigen (Anzahl: 1)
Ich versuche gerade mit dem Beispiel von toms zu API-Hooks
![]() Leider funktioniert mein Demo-Programm nicht, obwohl es eigentlich das Beispiel von toms ist. Ich hänge es hier mal an. |
Re: ChangeDisplaySettings Hooken
Zitat:
ist das nicht unnötig kompliziert? Die Positionen von Icons sollte man doch kennen, oder man kann sie rechtzeitig abfragen, und von der Displayänderung werden sowieso alle benachrichtigt. Gruss Reinhard |
Re: ChangeDisplaySettings Hooken
Zitat:
Zitat:
Zitat:
Aber wenn du eine einfachere Alternative kennst, ich bin für alles offen. |
Re: ChangeDisplaySettings Hooken
Zitat:
ich denke einfach nach folgender Logik: A wenn du die Position vorher weisst, existiert das Problem nicht. B wenn nicht, warum must du es danach dann plötzlich wissen? m.a.W. wenn der Anwender das Icon verschiebt, weisst du nicht, wo es ist - warum ist dir das vor der Displayumschaltung egal und nachher nicht mehr? Ich sage ja nicht, dass du keine guten Gründe hast, ich kenne sie nur bisher nicht. Ich persönlich würde das so angehen: wenn ich die Position kennen muss, speichere ich sie von Anfang an - nach einer Displayänderung eben die neue. Einen Hook würde ich ungern dafür aufwenden. Gruss Reinhard |
Re: ChangeDisplaySettings Hooken
Hallo Reinhard,
was für eine überflüssige Diskussion. Er hat eine klare Frage gestellt und erwartet eine klare Antwort. Hier gibt's bereits einige threads zu diesem Thema, aber nie eine befriedigende Antwort. Das ganze ist zum Beispiel sinnvoll um eine Änderung der Display-Skalierung zu verhindern. Rainer |
Re: ChangeDisplaySettings Hooken
Zitat:
Aber da shab eich alles schon im ersten Posting erklärt: Zitat:
|
Re: ChangeDisplaySettings Hooken
Konnte sich das mittlerweile mal jemand näher angucken?
|
Re: ChangeDisplaySettings Hooken
Moin moin,
Zitat:
In meiner Windows.pas ist ChangeDisplaySettings so deklariert
Delphi-Quellcode:
Wenn ich die hooke und von einem anderen Programm ChangeDisplaySettings aufrufe, erscheint die
type
//TChangeDisplaySettings = function(dwWidth: DWORD; dwHeight: DWORD; dwBpp: DWORD): HRESULT; stdcall; TChangeDisplaySettings = function(var lpDevMode: TDeviceMode; dwFlags: DWORD): Longint; stdcall; MessageBox --> scheint also zu funktionieren... Wenn ich allerdings meine Auflösung über Einstellungen Anzeige ändere, erscheint sie nicht. Kann es vll. sein, dass dabei ChangeDisplaySettings gar nicht aufgerufen wird? |
Re: ChangeDisplaySettings Hooken
Moin Peter,
seit 98/2000 gibt es noch die Funktion ChangeDisplaySettingsEx, und ich möchte mal stark annehmen, dass das Betriebssystem diese Funktion benutzt, wenn sie vorhanden ist. |
Re: ChangeDisplaySettings Hooken
Moin Christian,
das funktioniert auch nicht. Ich hab mal CounterStrike gestartet, auch dort lässt sich die MessageBox nicht blicken. Wie gesagt, aus einem anderen Delphi-Projekt aufgerufen, erscheint sie. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 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