senseless-creature
Goto Top

VBS set MaxRefreshRate

Guten Abend, ich habe folgendes VBScript im Netz gefunden, daß mir die aktuelle, maximale und minimale Bildwiederholrate meines Monitors per WMI des VideoControllers ausliest und dann als Echo anzeigt. Kann man nun mit VBScript auch den ermittelten Wert für MaxRefreshRate setzen, wenn MaxRefreshRate und CurrentRefreshRate nicht identisch sind, anstatt nun jedes mal durch die Einstellungen navigieren zu müssen?

strComputer = "."  
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")  
Set colItems = objWMIService.ExecQuery _
("Select * from Win32_VideoController")  
For Each objItem in colItems
  objItem.CurrentHorizontalResolution
  Wscript.Echo "Current: " & objItem.CurrentRefreshRate  
  objItem.InstalledDisplayDrivers
  Wscript.Echo "Max: " & objItem.MaxRefreshRate  
  Wscript.Echo "Min: " & objItem.MinRefreshRate   

Content-ID: 430107

Url: https://administrator.de/contentid/430107

Ausgedruckt am: 25.11.2024 um 16:11 Uhr

GrueneSosseMitSpeck
GrueneSosseMitSpeck 18.03.2019 um 21:59:53 Uhr
Goto Top
On Error Resume Next

ist schon mal ein kapitaler Fehler. Möge dem Erfinder des Skripts die Finger abfaulen.

If objWMIService is nothing then
msgbox "Fehler"
else
-> do something useful with objWMIService
endif

die Refreshrate kannst du nur bei analogen Monitoren setzen, bei digitalen Monitoren ist die Refreshrate per WMI nicht setzbar und ist meist auf 60 Hz festgelegt. Ein paar Games setzen das über ein paar böse Tricks auf 100 oder 200, falls der Bildschirm das kann. Aber nicht über WMI sondern Aufrufe in dem Voodoo-Bereich der Treiber-API.
emeriks
emeriks 19.03.2019 um 08:09:54 Uhr
Goto Top
Hi,
Zitat von @GrueneSosseMitSpeck:
On Error Resume Next
ist schon mal ein kapitaler Fehler. Möge dem Erfinder des Skripts die Finger abfaulen.
Diese pauschale Aussage ist - so getroffen - vollkommen Nonsens.

@beide
Nutzt doch bitte Code Tags. Oder sollen wir Euch auch abfaulende Finger wünschen?

E.