![]() |
Routine gesucht, die feststellt, ob Monitor an oder aus.
Hallo zusammen,
kennt jemand von euch eine einfache routine, mit der man auslesen kann, ob der angeschlossene monitor ein- bzw. ausgeschaltet wurde? es geht dabei um eine applikation, die auf einem "unbemannten" pc läuft und per e-mail meldet, dass der monitor ausgeschaltet wurde. vielen dank im voraus. |
Re: Routine gesucht, die feststellt, ob Monitor an oder aus.
Hallo,
also ich denke, so eine Funktion kann es gar nicht geben, zumindestens auf dem Software-Level. Heiko |
Re: Routine gesucht, die feststellt, ob Monitor an oder aus.
Zitat:
aber man kann doch über dde sogar die seriennummer des monitors (zumindest bei den neueren) auslesen. warum soll es keine möglichkeit geben, festzustellen, ob der monitor aktiv oder passiv ist - sprich: ein- oder ausgeschgaltet...? |
Re: Routine gesucht, die feststellt, ob Monitor an oder aus.
Also ich glaub man kann nur feststellen, ob sich der PC im Standbymodus befindet, also der Monitor vom Rechner ausgeschaltet wurde. Aber ob der User jetzt den Monitor aus oder eingeschaltet hat kann man meines Wissens nach nicht feststellen.
|
Re: Routine gesucht, die feststellt, ob Monitor an oder aus.
Zitat:
hast du vielleicht einen Link wie man die seriennummer des Monitors auslesen kann? Das würde mich auch interessieren :) bei deinem Problem kann ich dir leider nicht weiterhelfen :( gruß Oliver |
Re: Routine gesucht, die feststellt, ob Monitor an oder aus.
:gruebel:
Wenn es sich eh nur um einen "unbemannten pc" handelt warum isses dann so schlimm, wenn der Monitor aus ist? Dringende Alarmmeldungen wirst du ja bestimmt nicht nur über Monitor ausgeben oder? (Blink-/Blitz-leuchte, Tröte, Summer, Modem, Wählgerät, eMail, 1Euro-Jobler, ...) Nagut .. das hilft jetzt nicht wirkllich bei deinem Problem .... :oops: |
Re: Routine gesucht, die feststellt, ob Monitor an oder aus.
Wenn man per DDE die Seriennummer auslesen kann, dann kann man das auch (Achtung, dirty hack!) dazu verwenden, nachzusehen ob der Monitor noch an ist. Dann reagiert er nämlich auf die DDE-Anfrage. Wenn er ausgeschaltet ist, kann er das natürlich nicht...
Ist natürlich keine "ordentliche" Lösung, mag aber für den einen oder anderen Anwendungsfall praktikabel sein. |
Re: Routine gesucht, die feststellt, ob Monitor an oder aus.
Moin Zusammen,
nur um die Begrifflichkeit zu korrigieren: Wenn, dann geht es mit DDC nicht DDE. Der einfachste Weg die Seriennummer des Monitores herauszubekommen geht über die Registry. Im Key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\D ISPLAY findet man alle möglichen Monitore, die dem System mal bekannt waren. Innerhalb dieser Keys gibt es dann noch eine weitere Ebene, in der die Keys ähnlich aussehen wie 6&471624d7&0&11443344&01&00, und unterhalb dieser Keys wiederum gibt es den Key namenes "Device Parameters", in dem sich der Wert EDID befindet, ein Binärwert. An Offset $48 (also 72 dezimal) beginnt ein Block der sich aus vier Werten zusammensetzt. Aufbau Kennung DWORD Inhalt Array [1..14] of Byte Kennung DWORD Inhalt Array [1..14] of Byte Kennung DWORD Inhalt Array [1..14] of Byte Kennung DWORD Inhalt Array [1..14] of Byte Das erste Byte des Inhaltes ist bei den in Frage kommenden Einträgen immer 00 Als Kennungen gibt es: 000000FF => Seriennummer 000000FE => Hersteller 000000FC => Modellbezeichnung Bei diesen drei Kennungen handelt es sich dann um Klartext. Dieser ist mit Blanks auf 13 Byte aufgefüllt. Die Reihenfolge liegt nicht fest, und die Angaben sind optional, was sogar zur Folge haben kann, dass man eine bestimmte Kennung mehrfach vorfindet, oder eben auch gar nicht. Wenn sich parallel zum Key "Device Parameters" noch der Key "Control" befindet so hat man den Key erwischt, der aktuell gültige Daten für EDID enthält. [EDIT] Der aufwändigere, dafür aber sauberere Weg (da man nicht selber suchen muss ;-)) führt über die SetupApi. [/EDIT] |
Re: Routine gesucht, die feststellt, ob Monitor an oder aus.
Zitat:
![]() |
Re: Routine gesucht, die feststellt, ob Monitor an oder aus.
Zitat:
stimmt. Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 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