Quantcast
Channel: Tricktresor
Viewing all articles
Browse latest Browse all 214

Bildschirmauflösung ermitteln mit VBScript

$
0
0

In diesem Artikel zeige ich dir, wie du die Bildschirmauflösung eines Monitors ermitteln kannst. Verwendet wird dazu VBScript eingebttet in ABAP. Um an die gewünschten Informationen zu gelangen, wird WMI – Windows Management Instrumentation bemüht.

Die Ermittlung der Standardauflösung mit ABAP-Mitteln ist hier beschrieben: Bildschirmauflösung des Computers ermitteln

Vielen Dank an Stefan Schnell, der wieder mal beweist, dass der SAPGUI nicht die Grenze ist…

Win32_VideoController

Das unten stehende Programm erzeugt ein VBScript mit dessen Hilfe Informationen des Windows-Videocontrollers ausgelesen werden. Für jedes gefundene Element wird ein Popup erzeugt:

Info

Leider berücksichtigt der Code nicht mehrere angeschlossene Monitore. Für weiterführende Hinweise diesbezüglich bin ich dankbar.

Allerdings: Selbst wenn man weiß, wie viele Monitore, mit welcher Auflösung angeschlossen sind, weiß man immer noch nicht, auf welchem Monitor gerade der SAPGUI-Modus angezeigt wird.

Weiterführende Links

How to use Windows Management Instrumentation (WMI) Inside ABAP

How to use Windows PowerShell Script inside ABAP

WMI – Windows Management Instrumentation

Win32_VideoController

Code

CONSTANTS crlf(2) TYPE c VALUE cl_abap_char_utilities=>cr_lf.
DATA scriptctrl   TYPE ole2_object,
DATA cmd          TYPE string.

CREATE OBJECT scriptctrl 'MSScriptControl.ScriptControl'.
IF sy-subrc = 0.
  SET PROPERTY OF scriptctrl 'AllowUI' = 1.
  SET PROPERTY OF scriptctrl 'Language' = 'VBScript'.
  cmd = 'Set oWMI = GetObject("Winmgmts:\\.\root\cimv2")'                          && crlf &&
        'Set colItems = oWMI.ExecQuery("Select * from Win32_VideoController",,48)' && crlf &&
        'For Each oItem in colItems '                                              && crlf &&
        ' intHorizontal = oItem.CurrentHorizontalResolution'                       && crlf &&
        ' intVertical = oItem.CurrentVerticalResolution'                           && crlf &&
        ' chrCaption  = oItem.Caption'                                             && crlf &&
        ' chrDeviceID = oItem.DeviceID'                                            && crlf &&
        ' MsgBox chrDeviceID & "/" & chrCaption & ": " & intHorizontal & ":" & intVertical'            && crlf &&
        'Next'.
  CALL METHOD OF scriptctrl 'ExecuteStatement' EXPORTING #1 = cmd.
  FREE OBJECT scriptctrl.
ENDIF.
 

Der Beitrag Bildschirmauflösung ermitteln mit VBScript erschien zuerst auf Tricktresor.


Viewing all articles
Browse latest Browse all 214


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>