Wie kann man abfragen, ob ein zweiter Monitor angeschaltet ist?
Die Abfrage sollte Im Hintergrund aus einem Skript heraus geschehen.
Wie kann man abfragen, ob ein zweiter Monitor angeschaltet ist?
Die Abfrage sollte Im Hintergrund aus einem Skript heraus geschehen.
Hast du schonmal versucht es über WMI zu testen?
Dabei kann dir das Programm Scriptomatic.au3 weiterhelfen.
MfG
Der_Doc
Probier das mal:
$Anzahl = _GetMonitorCount()
If Not @error Then MsgBox(Default,Default, "Anzahl Monitore: " & $Anzahl)
Func _GetMonitorCount()
Local $cbMonitorEnumProc = DllCallbackRegister("MonitorEnumProc", "ubyte", "ptr;ptr;ptr;int")
If @error Then Return SetError(1, 0, False)
Local $strctCount = DllStructCreate("int Count")
If @error Then Return SetError(2, @error, False)
DllStructSetData($strctCount, "Count", 0)
$Ret = DllCall("User32.dll", "ubyte","EnumDisplayMonitors","ptr", 0,"ptr", 0, "ptr", DllCallbackGetPtr($cbMonitorEnumProc), "ptr", DllStructGetPtr($strctCount))
If @error Or $Ret[0] = 0 Then Return SetError(3, @error, False)
DllCallbackFree($cbMonitorEnumProc)
Return Int(DllStructGetData($strctCount, "Count"))
EndFunc
Func MonitorEnumProc($hMonitor, $hdcMonitor, $lprcMonitor, $dwData)
Local $strctCount = DllStructCreate("int", $dwData)
DllStructSetData($strctCount, 1, DllStructGetData($strctCount, 1)+1)
Return True
EndFunc
Kann es nur nicht wirklich testen da ich nur einen Monitor habe
jap funzt
@Asprin-Junky:
Super!! Funktioniert - vielen lieben Dank
@Der-Doc
interessante Sache,
blos bevor ich da was gefunden habe (einschliesslich dem Testen) hat Aspirin-Junky schon 'ne ready-made Lösung gebracht