![]() |
Systemparameters(Info) versus SystemMetrics
Hallo,
welche Betiehung besteht zwischen den SystemParameters (auszulesen mit Systemparametersinfo) und den Systemmetricen (auszulesen mit Getsystemmetrics) Z. Bsp.: SPI_WORKAREA für SystemParametersInfo und SM_CXSCREEN und SM_CYSCREEN für GetSysteMetrics. Das Ergebnis ist bei beiden gleich. Nur: Der eine sagt "Arbeitsbereich", der andere sagt "virtueller Bildschirm" und bietet noch mehr Daten für den Bildschirm (nutzbarer Bereich usw.). (Habe ich noch nie gebraucht. Deshalb ist es mir erst jetzt auufgefallen.) Gruß Mattze |
AW: Systemparameters(Info) versus SystemMetrics
Zitat:
SM_CXSCREEN und SM_CYSCREEN ausgelesen mit GetSysteMetrics() gibt Dir die Höhe bzw. Breite als Integer des primären Bildschirms an. Die Werte unterscheiden sich demnach, wie die Einstellungen Deiner Taskbar sind. Nehmen wir als Beispiel eine XP-Rechner mit Standart-Taskleiste, welche unten fixiert ist an. Wenn Du nun einen Bildschirm mit einer Auflösung von 1024x768 besitzt, dann gibt Dir SM_CYSCREEN = 768 zurück wärend bei Rect.Bottom (738) - Rect.Top (0) = 738 herauskommt. Hast Du die Taskleiste oben fixiert, dann sieht das anderst aus: CYSCREEN ist immer noch 768 Rect.Top ist nun nicht mehr 0, sondern 30 und Rect.Bottom wäre 768. SPI_GETWORKAREA gibt Dir also Informationen über den verfügbaren Arbeitsbereich in Koordinaten und CYSCREEN und CXSCREEN jeweils nur Informationen über den Bildschirm. |
AW: Systemparameters(Info) versus SystemMetrics
Hallo
1. Bei mir sind beide Werte gleich. Erst SM_CXFULLSCREEN und SM_CYFULLSCREEN sind anders. Das heißt dann auch "nutzbarer Bildschirm". Evtl. wird da die Taskbar berücksichtigt. (SM_CYFULLSCREEN ist kleiner als SM_CYSCREEN.). 2. Das ist keine Antwort. Es geht nicht um dieses eine BEISPIEL, sondern wo bei Systemparameters und Systemmetrics prinzipiell der Unterschied ist. Gruß Mattze |
AW: Systemparameters(Info) versus SystemMetrics
Zitat:
Aus Deiner Antwort kann ich zum Beispiel herauslesen, dass Deine Taskleiste so eingestellt ist, dass das Häckchen bei "Taskleiste immer im Vordergrund halten" NICHT gesetzt ist. Setze einmal dort Dein Häckchen und Du wirst sehen, dass es plötzlich andere Werte sind, welche Du von
Delphi-Quellcode:
bekommst.
SystemParametersInfo(SPI_GETWORKAREA,0,@lRect,0);
Zitat:
Es sind zwei vollkommen verschiedene Funktionen, welche verschiedene Rückgabe-Typen und Werte je nach verwendeten Parameter zurückliefern. So gibt GetSystemMetrics() IMMER direkt einen Integer zurück, welcher den Wert der Abfrage darstellt. SystemParametersInfo() gibt lediglich einen Boolean-Wert zurück. Die abgefragten Werte hingegen in den verwendeten Parameterstrukturen. Ausserdem lässt sich mit SystemParametersInfo() das System konfigurieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 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