sebhildebrandt / systeminformation

System Information Library for Node.JS
MIT License
2.68k stars 304 forks source link

Inaccurate Screen Resolution When Scale Is Over 100% #285

Closed m-henderson closed 4 years ago

m-henderson commented 4 years ago

Describe the bug incorrect screen resolution being returned by graphics() when windows scale setting is over 100%.

To Reproduce Steps to reproduce the behavior:

  1. go to display settings and set scale over 100% image

  2. open power shell and get your screen resolution by typing in the following command wmic path win32_VideoController get /value image

  3. now, call the graphics() class and get the displays. notice that the resolution is incorrect. image

  4. go back to windows settings and set the scale to 100% and call graphics() to get the displays. Notice the resolution is correct: image

Expected behavior I expected the resolution to be my actual resolution: 2160 x 3840 but that is not the case.

Environment (please complete the following information):

Additional context Add any other context about the problem here. I have a 4k screen so my scale settings is on 250%: image

when scale is set to over 100% that is when I get the incorrect resolution sent back from graphics(): image

when i set scale to 100%, the correct resolution is returned: image

I know getting the correct screen resolution when scale is set to 250% or over is possible because here is what I get when I run this command wmic path win32_VideoController get /value image

sebhildebrandt commented 4 years ago

@m-henderson ... Thank you for reporting. Will provide a solution later this day.

sebhildebrandt commented 4 years ago

@m-henderson: Can you provide a full output of the graphics() result when scale > 100% and when scale = 100%

In your screenshots I only see part of it ;-)

sebhildebrandt commented 4 years ago

@m-henderson here on my machine with 150% scale I get

 displays:
   [ { vendor: 'GSM',
       model: 'LG Utra HD',
       main: true,
       builtin: false,
       connection: 'HDMI',
       resolutionx: 2560,
       resolutiony: 1440,
       sizex: 60,
       sizey: 34,
       pixeldepth: 32,
       currentResX: 3840,
       currentResY: 2160,
       currentRefreshRate: 29 } ] }

What I sould do, is exchange resulutionx/y and currentResX/Y ... what do you think?

sebhildebrandt commented 4 years ago

@m-henderson you might try also my changes in graphics.js (pushed here on github). I also need to test this, but if you have a chance to give this a try, that would be great.

m-henderson commented 4 years ago

@sebhildebrandt thanks for the quick response! Here are the answers to your questions:

Can you provide a full output of the graphics() result when scale > 100% and when scale = 100% In your screenshots I only see part of it ;-)

yes, give me a few hours to get to my lalptop and I will provide that information to you!


here on my machine with 150% scale I get displays: [ { vendor: 'GSM', model: 'LG Utra HD', main: true, builtin: false, connection: 'HDMI', resolutionx: 2560, resolutiony: 1440, sizex: 60, sizey: 34, pixeldepth: 32, currentResX: 3840, currentResY: 2160, currentRefreshRate: 29 } ] } What I sould do, is exchange resulutionx/y and currentResX/Y ... what do you think?

yup, that looks about right but let me double check when I get to my machine šŸ˜„ .


m-henderson you might try also my changes in graphics.js (pushed here on github). I also need to test this, but if you have a chance to give this a try, that would be great.

Yup, no problem! I will test the changes out as soon as I get a chance šŸ˜ƒ

m-henderson commented 4 years ago

@sebhildebrandt here is the full output image

sebhildebrandt commented 4 years ago

@m-henderson Thank you for testing! Well, still some problems here ...

Can you provide also the output of

From command line:

wmic path win32_desktopmonitor get /value
wmic path win32_VideoController get /value

And in PowerShell:

Get-CimInstance -Namespace root\\wmi -ClassName WmiMonitorBasicDisplayParams | fl

Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.Screen]::AllScreens

gwmi WmiMonitorID -Namespace root\\wmi

...when being in scale 150%

sebhildebrandt commented 4 years ago

@m-henderson if possible, can you copy paste the output as text? Thank you in advance!

m-henderson commented 4 years ago

@sebhildebrandt sure! here you go


Availability=8
Bandwidth=
Caption=Generic PnP Monitor
ConfigManagerErrorCode=0
ConfigManagerUserConfig=FALSE
CreationClassName=Win32_DesktopMonitor
Description=Generic PnP Monitor
DeviceID=DesktopMonitor1
DisplayType=
ErrorCleared=
ErrorDescription=
InstallDate=
IsLocked=
LastErrorCode=
MonitorManufacturer=(Standard monitor types)
MonitorType=Generic PnP Monitor
Name=Generic PnP Monitor
PixelsPerXLogicalInch=240
PixelsPerYLogicalInch=240
PNPDeviceID=DISPLAY\SHP143E\4&17C4129E&0&UID265988
PowerManagementCapabilities=
PowerManagementSupported=
ScreenHeight=
ScreenWidth=
Status=OK
StatusInfo=
SystemCreationClassName=Win32_ComputerSystem
SystemName=DESKTOP-VE85ARO

Availability=8
Bandwidth=
Caption=Default Monitor
ConfigManagerErrorCode=
ConfigManagerUserConfig=
CreationClassName=Win32_DesktopMonitor
Description=Default Monitor
DeviceID=DesktopMonitor2
DisplayType=
ErrorCleared=
ErrorDescription=
InstallDate=
IsLocked=
LastErrorCode=
MonitorManufacturer=
MonitorType=Default Monitor
Name=Default Monitor
PixelsPerXLogicalInch=240
PixelsPerYLogicalInch=240
PNPDeviceID=
PowerManagementCapabilities=
PowerManagementSupported=
ScreenHeight=
ScreenWidth=
Status=OK
StatusInfo=
SystemCreationClassName=Win32_ComputerSystem
SystemName=DESKTOP-VE85ARO```

<hr>
C:\Users\micha>wmic path win32_VideoController get /value

AcceleratorCapabilities=
AdapterCompatibility=Intel Corporation
AdapterDACType=Internal
AdapterRAM=1073741824
Availability=3
CapabilityDescriptions=
Caption=Intel(R) HD Graphics 530
ColorTableEntries=
ConfigManagerErrorCode=0
ConfigManagerUserConfig=FALSE
CreationClassName=Win32_VideoController
CurrentBitsPerPixel=32
CurrentHorizontalResolution=3840
CurrentNumberOfColors=4294967296
CurrentNumberOfColumns=0
CurrentNumberOfRows=0
CurrentRefreshRate=59
CurrentScanMode=4
CurrentVerticalResolution=2160
Description=Intel(R) HD Graphics 530
DeviceID=VideoController1
DeviceSpecificPens=
DitherType=0
DriverDate=20180228000000.000000-000
DriverVersion=23.20.16.4973
ErrorCleared=
ErrorDescription=
ICMIntent=
ICMMethod=
InfFilename=oem19.inf
InfSection=iSKLD_w10_DS
InstallDate=
InstalledDisplayDrivers=C:\WINDOWS\System32\DriverStore\FileRepository\k127370.inf_amd64_40f42c925df30890\igdumdim64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\k127370.inf_amd64_40f42c925df30890\igd10iumd64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\k127370.inf_amd64_40f42c925df30890\igd10iumd64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\k127370.inf_amd64_40f42c925df30890\igd12umd64.dll
LastErrorCode=
MaxMemorySupported=
MaxNumberControlled=
MaxRefreshRate=59
MinRefreshRate=59
Monochrome=FALSE
Name=Intel(R) HD Graphics 530
NumberOfColorPlanes=
NumberOfVideoPages=
PNPDeviceID=PCI\VEN_8086&amp;DEV_191B&amp;SUBSYS_06E41028&amp;REV_06\3&amp;11583659&amp;0&amp;10
PowerManagementCapabilities=
PowerManagementSupported=
ProtocolSupported=
ReservedSystemPaletteEntries=
SpecificationVersion=
Status=OK
StatusInfo=
SystemCreationClassName=Win32_ComputerSystem
SystemName=DESKTOP-VE85ARO
SystemPaletteEntries=
TimeOfLastReset=
VideoArchitecture=5
VideoMemoryType=2
VideoMode=
VideoModeDescription=3840 x 2160 x 4294967296 colors
VideoProcessor=Intel(R) HD Graphics Family

AcceleratorCapabilities=
AdapterCompatibility=NVIDIA
AdapterDACType=Integrated RAMDAC
AdapterRAM=2147483648
Availability=8
CapabilityDescriptions=
Caption=NVIDIA GeForce GTX 960M
ColorTableEntries=
ConfigManagerErrorCode=0
ConfigManagerUserConfig=FALSE
CreationClassName=Win32_VideoController
CurrentBitsPerPixel=
CurrentHorizontalResolution=
CurrentNumberOfColors=
CurrentNumberOfColumns=
CurrentNumberOfRows=
CurrentRefreshRate=
CurrentScanMode=
CurrentVerticalResolution=
Description=NVIDIA GeForce GTX 960M
DeviceID=VideoController2
DeviceSpecificPens=
DitherType=
DriverDate=20190724000000.000000-000
DriverVersion=26.21.14.3170
ErrorCleared=
ErrorDescription=
ICMIntent=
ICMMethod=
InfFilename=oem36.inf
InfSection=Section046
InstallDate=
InstalledDisplayDrivers=C:\WINDOWS\System32\DriverStore\FileRepository\nvdm.inf_amd64_32bbe4fae9aa9391\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvdm.inf_amd64_32bbe4fae9aa9391\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvdm.inf_amd64_32bbe4fae9aa9391\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvdm.inf_amd64_32bbe4fae9aa9391\nvldumdx.dll
LastErrorCode=
MaxMemorySupported=
MaxNumberControlled=
MaxRefreshRate=
MinRefreshRate=
Monochrome=FALSE
Name=NVIDIA GeForce GTX 960M
NumberOfColorPlanes=
NumberOfVideoPages=
PNPDeviceID=PCI\VEN_10DE&amp;DEV_139B&amp;SUBSYS_06E41028&amp;REV_A2\4&amp;AF2299&amp;0&amp;0008
PowerManagementCapabilities=
PowerManagementSupported=
ProtocolSupported=
ReservedSystemPaletteEntries=
SpecificationVersion=
Status=OK
StatusInfo=
SystemCreationClassName=Win32_ComputerSystem
SystemName=DESKTOP-VE85ARO
SystemPaletteEntries=
TimeOfLastReset=
VideoArchitecture=5
VideoMemoryType=2
VideoMode=
VideoModeDescription=
VideoProcessor=GeForce GTX 960M

<hr>

```PS C:\Users\micha> Get-CimInstance -Namespace root\\wmi -ClassName WmiMonitorBasicDisplayParams | fl
>>                                                                                                                   Get-CimInstance : Invalid namespace
At line:1 char:1
+ Get-CimInstance -Namespace root\\wmi -ClassName WmiMonitorBasicDispla ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : MetadataError: (root\\wmi:WmiMonitorBasicDisplayParams:String) [Get-CimInstance], Cim
   Exception
    + FullyQualifiedErrorId : HRESULT 0x8004100e,Microsoft.Management.Infrastructure.CimCmdlets.GetCimInstanceComma
   nd```

<hr>

```PS C:\Users\micha> Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.Screen]::AllScreens            

BitsPerPixel : 32
Bounds       : {X=0,Y=0,Width=1536,Height=864}
DeviceName   : \\.\DISPLAY1
Primary      : True
WorkingArea  : {X=0,Y=0,Width=1536,Height=824}


At line:1 char:1
+ gwmi WmiMonitorID -Namespace root\\wmi
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Get-WmiObject], ManagementException
    + FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

PS C:\Users\micha> ```
sebhildebrandt commented 4 years ago

Thank you ...

and sorry. I made a mistake in two statements:

PowerShell:

Get-CimInstance -Namespace root\wmi -ClassName WmiMonitorBasicDisplayParams | fl

gwmi WmiMonitorID -Namespace root\wmi

Can you try these two again?

sebhildebrandt commented 4 years ago

@m-henderson ...just to be sure, that you are notified ... see new comment above once again.

m-henderson commented 4 years ago

@sebhildebrandt I made a mistake as well. I ran the commands on scale 250% instead of 150%. I am going to redo the commands in the correct scale.

m-henderson commented 4 years ago
C:\Users\micha>wmic path win32_desktopmonitor get /value

Availability=8
Bandwidth=
Caption=Generic PnP Monitor
ConfigManagerErrorCode=0
ConfigManagerUserConfig=FALSE
CreationClassName=Win32_DesktopMonitor
Description=Generic PnP Monitor
DeviceID=DesktopMonitor1
DisplayType=
ErrorCleared=
ErrorDescription=
InstallDate=
IsLocked=
LastErrorCode=
MonitorManufacturer=(Standard monitor types)
MonitorType=Generic PnP Monitor
Name=Generic PnP Monitor
PixelsPerXLogicalInch=240
PixelsPerYLogicalInch=240
PNPDeviceID=DISPLAY\SHP143E\4&amp;17C4129E&amp;0&amp;UID265988
PowerManagementCapabilities=
PowerManagementSupported=
ScreenHeight=
ScreenWidth=
Status=OK
StatusInfo=
SystemCreationClassName=Win32_ComputerSystem
SystemName=DESKTOP-VE85ARO

Availability=8
Bandwidth=
Caption=Default Monitor
ConfigManagerErrorCode=
ConfigManagerUserConfig=
CreationClassName=Win32_DesktopMonitor
Description=Default Monitor
DeviceID=DesktopMonitor2
DisplayType=
ErrorCleared=
ErrorDescription=
InstallDate=
IsLocked=
LastErrorCode=
MonitorManufacturer=
MonitorType=Default Monitor
Name=Default Monitor
PixelsPerXLogicalInch=240
PixelsPerYLogicalInch=240
PNPDeviceID=
PowerManagementCapabilities=
PowerManagementSupported=
ScreenHeight=
ScreenWidth=
Status=OK
StatusInfo=
SystemCreationClassName=Win32_ComputerSystem
SystemName=DESKTOP-VE85ARO

C:\Users\micha>wmic path win32_VideoController get /value

AcceleratorCapabilities=
AdapterCompatibility=Intel Corporation
AdapterDACType=Internal
AdapterRAM=1073741824
Availability=3
CapabilityDescriptions=
Caption=Intel(R) HD Graphics 530
ColorTableEntries=
ConfigManagerErrorCode=0
ConfigManagerUserConfig=FALSE
CreationClassName=Win32_VideoController
CurrentBitsPerPixel=32
CurrentHorizontalResolution=3840
CurrentNumberOfColors=4294967296
CurrentNumberOfColumns=0
CurrentNumberOfRows=0
CurrentRefreshRate=59
CurrentScanMode=4
CurrentVerticalResolution=2160
Description=Intel(R) HD Graphics 530
DeviceID=VideoController1
DeviceSpecificPens=
DitherType=0
DriverDate=20180228000000.000000-000
DriverVersion=23.20.16.4973
ErrorCleared=
ErrorDescription=
ICMIntent=
ICMMethod=
InfFilename=oem19.inf
InfSection=iSKLD_w10_DS
InstallDate=
InstalledDisplayDrivers=C:\WINDOWS\System32\DriverStore\FileRepository\k127370.inf_amd64_40f42c925df30890\igdumdim64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\k127370.inf_amd64_40f42c925df30890\igd10iumd64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\k127370.inf_amd64_40f42c925df30890\igd10iumd64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\k127370.inf_amd64_40f42c925df30890\igd12umd64.dll
LastErrorCode=
MaxMemorySupported=
MaxNumberControlled=
MaxRefreshRate=59
MinRefreshRate=59
Monochrome=FALSE
Name=Intel(R) HD Graphics 530
NumberOfColorPlanes=
NumberOfVideoPages=
PNPDeviceID=PCI\VEN_8086&amp;DEV_191B&amp;SUBSYS_06E41028&amp;REV_06\3&amp;11583659&amp;0&amp;10
PowerManagementCapabilities=
PowerManagementSupported=
ProtocolSupported=
ReservedSystemPaletteEntries=
SpecificationVersion=
Status=OK
StatusInfo=
SystemCreationClassName=Win32_ComputerSystem
SystemName=DESKTOP-VE85ARO
SystemPaletteEntries=
TimeOfLastReset=
VideoArchitecture=5
VideoMemoryType=2
VideoMode=
VideoModeDescription=3840 x 2160 x 4294967296 colors
VideoProcessor=Intel(R) HD Graphics Family

AcceleratorCapabilities=
AdapterCompatibility=NVIDIA
AdapterDACType=Integrated RAMDAC
AdapterRAM=2147483648
Availability=8
CapabilityDescriptions=
Caption=NVIDIA GeForce GTX 960M
ColorTableEntries=
ConfigManagerErrorCode=0
ConfigManagerUserConfig=FALSE
CreationClassName=Win32_VideoController
CurrentBitsPerPixel=
CurrentHorizontalResolution=
CurrentNumberOfColors=
CurrentNumberOfColumns=
CurrentNumberOfRows=
CurrentRefreshRate=
CurrentScanMode=
CurrentVerticalResolution=
Description=NVIDIA GeForce GTX 960M
DeviceID=VideoController2
DeviceSpecificPens=
DitherType=
DriverDate=20190724000000.000000-000
DriverVersion=26.21.14.3170
ErrorCleared=
ErrorDescription=
ICMIntent=
ICMMethod=
InfFilename=oem36.inf
InfSection=Section046
InstallDate=
InstalledDisplayDrivers=C:\WINDOWS\System32\DriverStore\FileRepository\nvdm.inf_amd64_32bbe4fae9aa9391\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvdm.inf_amd64_32bbe4fae9aa9391\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvdm.inf_amd64_32bbe4fae9aa9391\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvdm.inf_amd64_32bbe4fae9aa9391\nvldumdx.dll
LastErrorCode=
MaxMemorySupported=
MaxNumberControlled=
MaxRefreshRate=
MinRefreshRate=
Monochrome=FALSE
Name=NVIDIA GeForce GTX 960M
NumberOfColorPlanes=
NumberOfVideoPages=
PNPDeviceID=PCI\VEN_10DE&amp;DEV_139B&amp;SUBSYS_06E41028&amp;REV_A2\4&amp;AF2299&amp;0&amp;0008
PowerManagementCapabilities=
PowerManagementSupported=
ProtocolSupported=
ReservedSystemPaletteEntries=
SpecificationVersion=
Status=OK
StatusInfo=
SystemCreationClassName=Win32_ComputerSystem
SystemName=DESKTOP-VE85ARO
SystemPaletteEntries=
TimeOfLastReset=
VideoArchitecture=5
VideoMemoryType=2
VideoMode=
VideoModeDescription=
VideoProcessor=GeForce GTX 960M

PS C:\Users\micha> Get-CimInstance -Namespace root\wmi -ClassName WmiMonitorBasicDisplayParams | fl

Active                        : True
DisplayTransferCharacteristic : 120
InstanceName                  : DISPLAY\SHP143E\4&17c4129e&0&UID265988_0
MaxHorizontalImageSize        : 35
MaxVerticalImageSize          : 19
SupportedDisplayFeatures      : WmiMonitorSupportedDisplayFeatures
VideoInputType                : 1
PSComputerName                :

PS C:\Users\micha> Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.Screen]::AllScreens

BitsPerPixel : 32
Bounds       : {X=0,Y=0,Width=2560,Height=1440}
DeviceName   : \\.\DISPLAY1
Primary      : True
WorkingArea  : {X=0,Y=0,Width=2560,Height=1400}

PS C:\Users\micha> gwmi WmiMonitorID -Namespace root\wmi

__GENUS                : 2
__CLASS                : WmiMonitorID
__SUPERCLASS           : MSMonitorClass
__DYNASTY              : MSMonitorClass
__RELPATH              : WmiMonitorID.InstanceName="DISPLAY\\SHP143E\\4&17c4129e&0&UID265988_0"
__PROPERTY_COUNT       : 9
__DERIVATION           : {MSMonitorClass}
__SERVER               : DESKTOP-VE85ARO
__NAMESPACE            : root\wmi
__PATH                 : \\DESKTOP-VE85ARO\root\wmi:WmiMonitorID.InstanceName="DISPLAY\\SHP143E\\4&17c4129e&0&UID265988
                         _0"
Active                 : True
InstanceName           : DISPLAY\SHP143E\4&17c4129e&0&UID265988_0
ManufacturerName       : {83, 72, 80, 0...}
ProductCodeID          : {49, 52, 51, 69...}
SerialNumberID         : {48, 0, 0, 0...}
UserFriendlyName       :
UserFriendlyNameLength : 0
WeekOfManufacture      : 40
YearOfManufacture      : 2015
PSComputerName         : DESKTOP-VE85ARO
sebhildebrandt commented 4 years ago

@m-henderson 150% or 250% does not really matter ;-) as soon as we have a scaling, we see a difference.

One more thing: the monitor is connected to WHICH of the two graphic cards?

m-henderson commented 4 years ago

@sebhildebrandt the computer actually has two video cards and I believe they work together

m-henderson commented 4 years ago

I believe I have intel set as default but dell may be overriding that at some point.

sebhildebrandt commented 4 years ago

@m-henderson I do now see, why I am showing the (not correct) results but I need to figure out, how I can determine, which monitor uses which video card. The thing is, that I can take the resolution settings from the graphics card. In your case - as there are two - which one is the correct one? I do not want to implement something by just "guessing".

All display related wmi results show the 2560 x 1440 resolution (Bounds and Working Area).

I will try to come up with a solution ;-)

m-henderson commented 4 years ago

@sebhildebrandt okay! that first screenshot I have where the resolution is 1536 X 864, where are those numbers coming from?

sebhildebrandt commented 4 years ago

@m-henderson From PowerShell

Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.Screen]::AllScreens

So this actually identifies the display. And this is fine (it is the calculated resolution when you have 250% scaling).

Then you see the two video_controllers:

wmic path win32_VideoController get /value

where Intel(R) HD Graphics 530 has a current resolution of 3840 x 2160 and the other one has none. I think I now have a way to set it "correctly" not in all cases but this should be fine as it is better than what we have now. Will implement it tomorrow.

sebhildebrandt commented 4 years ago

@m-henderson So I just tried something, maybe you can give it a try. I changed lib/graphics.jshere on GitHub, so if you take this ... can you then provide results from systeminformation.graphics() (again as text)? ... not sure if this works.

Thank you so much in advance ...

sebhildebrandt commented 4 years ago

@m-henderson ... as I introduced a small bug, I now pushed a new version of lib/graphics.js, maybe you have time to test it ...

m-henderson commented 4 years ago

@sebhildebrandt does the npm module reflect your updates? I was thinking I could just update the npm module in my application and then test your changes.

m-henderson commented 4 years ago

@sebhildebrandt I updated the npm module to 4.14.15 and am getting an empty array back from graphics()

sebhildebrandt commented 4 years ago

@m-henderson not yet. Waited for your test ;-) If this is ok, I will update npm package.

sebhildebrandt commented 4 years ago

@m-henderson Version 4.14.16 just released.

m-henderson commented 4 years ago

@sebhildebrandt okay! going to test now! šŸ˜„

m-henderson commented 4 years ago

@sebhildebrandt here ya go! full output of graphics() on the latest npm version (4.14.16)

0:Object {vendor: "(Standard monitor types)", model: "Generic PnP Monitor", main: true, ā€¦}
builtin:true
connection:"INTERNAL"
currentRefreshRate:59
currentResX:1536
currentResY:864
main:true
model:"Generic PnP Monitor"
pixeldepth:32
positionX:0
positionY:0
resolutionx:3840
resolutiony:2160
sizex:35
sizey:19
vendor:"(Standard monitor types)"
__proto__:Object {constructor: , __defineGetter__: , __defineSetter__: , ā€¦}
sebhildebrandt commented 4 years ago

@sebhildebrandt Closing this for now, but there is one thing, that I would like to solve ... Monitor Vendor and Model name ... could you once again help out and run one more command?

gwmi WmiMonitorID -Namespace root\wmi | ForEach-Object {(($_.ManufacturerName -notmatch 0 | foreach {[char]$_}) -join "") + "|" + (($_.ProductCodeID -notmatch 0 | foreach {[char]$_}) -join "") + "|" + (($_.UserFriendlyName -notmatch 0 | foreach {[char]$_}) -join "") + "|" + (($_.SerialNumberID -notmatch 0 | foreach {[char]$_}) -join "") + "|" + $_.InstanceName}
m-henderson commented 4 years ago

@sebhildebrandt image