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
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.