SysInfo


Measure=SysInfo measures various information about your system.

Note: SysInfo was previously a plugin measure.

In many existing skins you might see the syntax:

[MeasureSysInfo]
Measure=Plugin
Plugin=SysInfo
or
Plugin=SysInfo.dll
or
Plugin=Plugins\SysInfo.dll

SysInfo still works with those forms, and changing existing skins to the new Measure=SysInfo syntax is entirely optional. However, new skins created going forward should use the correct syntax for accuracy and clarity. SysInfo is a measure, and not a plugin.

[MeasureSysInfo]
Measure=SysInfo

Options

General measure options
All general measure options are valid.
SysInfoType

Item of system information to retrieve. Some returned values are String for use in string measures or meters, and some are Number for use in any measure or meter.

General system values

  • COMPUTER_NAME : [String] The computer's name as specified in the system settings.
  • USER_NAME : [String] The name of the current Windows user account.
  • USER_SID : [String] The security identifier associated with the current Windows user account.
  • USER_LOGONTIME : [Number] A timestamp number (number of seconds since January 1, 1601) reflecting the date and time the current user account logged onto Windows. Use with a Time measure to get a formatted string of the date/time, or subtract from the current time and use with an Uptime measure to get a formatted string of the elapsed time.
  • LAST_SLEEP_TIME : [Number] A timestamp number (number of seconds since January 1, 1601) reflecting the date and time Windows last entered a sleep state. Use with a Time measure to get a formatted string of the date/time, or subtract from the current time and use with an Uptime measure to get a formatted string of the elapsed time.
  • LAST_WAKE_TIME : [Number] A timestamp number (number of seconds since January 1, 1601) reflecting the date and time Windows was last returned from a sleep state. Use with a Time measure to get a formatted string of the date/time, or subtract from the current time and use with an Uptime measure to get a formatted string of the elapsed time.
  • OS_PRODUCT_NAME : [String] The version of Windows including the OS edition. E.g. Windows 10.0 Home.
  • OS_VERSION : [String] The version of Windows. E.g. Windows 10.0.
  • OS_BITS : [Number] Returns whether the version of Windows is 32 or 64 bit.
  • PAGESIZE : [Number] The size in bytes of the current contiguous page size allocated for system memory.
  • IDLE_TIME : [Number] The number of seconds since the last mouse or keyboard input to the operating system.

Network values

  • HOST_NAME : [String] The computer's network host name.
  • DOMAIN_NAME : [String] The computer's network domain name.
  • DOMAIN_WORKGROUP : [String] The computer's network domain or workgroup name.
  • DNS_SERVER : [String] The computer's network primary DNS server IP address.
  • ADAPTER_DESCRIPTION : [String] The description (name) of the network adapter specified by SysInfoData.
  • ADAPTER_TYPE : [String and Number] The type of network adapter specified by SysInfoData.

    The string value will be one of Ethernet, Wireless or Other. The number value will be one of 6 (Ethernet), 71 (Wireless), or some other number in the range 0-280 (Other). The meaning of numeric codes other than 6 and 71 can be found at: docs.microsoft.com Adapter Info.

  • ADAPTER_ALIAS : [String] The network interface connected to by the network adapter specified by SysInfoData. Examples are Ethernet 1 or WiFi 3.
  • ADAPTER_GUID : [String] The GUID of the network adapter specified by SysInfoData.
  • ADAPTER_STATE : [String and Number] Gets the "media connected state" of the network adapter specified by SysInfoData. This works for physical and non-physical adapters. The number value will return 1 for connected, and -1 for disconnected. The string value will return Connected or Disconnected. Any other state returns 0 and Unknown.
  • ADAPTER_STATUS : [String and Number] The operational status of the network adapter specified by SysInfoData. This works for physical and non-physical adapters. The values returned are:

    Number: -3 String: Not Present
    Number: -2 String: Lower Layer Down
    Number: -1 String: Down
    Number:  0 String: Unknown
    Number:  1 String: Up
    Number:  2 String: Dormant
    Number:  3 String: Testing

  • ADAPTER_TRANSMIT_SPEED : [Number] The currently supported outbound speed of the network adapter specified by SysInfoData. This is in bits per second, and if scaled, should be scaled by 1000 (AutoScale=2) to be consistent with Control Panel.
  • ADAPTER_RECEIVE_SPEED : [Number] The currently supported inbound speed of the network adapter specified by SysInfoData. This is in bits per second, and if scaled, should be scaled by 1000 (AutoScale=2) to be consistent with Control Panel.
  • MAC_ADDRESS : [String] The physical MAC address of the network adapter specified by SysInfoData.
  • NET_MASK : [String] The subnet mask of the network adapter specified by SysInfoData.
  • IP_ADDRESS : [String] The LAN IP address of the network adapter specified by SysInfoData.
  • GATEWAY_ADDRESS : [String] The gateway IP address of the network adapter specified by SysInfoData.
  • GATEWAY_ADDRESS_V4 : [String] The gateway IPv4 address of the network adapter specified by SysInfoData.
  • GATEWAY_ADDRESS_V6 : [String] The gateway IPv6 address of the network adapter specified by SysInfoData.
  • LAN_CONNECTIVITY : [Number] Returns 1 if the network adapter specified by SysInfoData for your computer is connected to a LAN, -1 if not.
  • LAN_CONNECTIVITY_V4 : [Number] Returns 1 if the IPv4 IP address of the network adapter specified by SysInfoData for your computer is connected to a LAN, -1 if not.
  • LAN_CONNECTIVITY_V6 : [Number] Returns 1 if the IPv6 IP address of the network adapter specified by SysInfoData for your computer is connected to a LAN, -1 if not.
  • INTERNET_CONNECTIVITY : [Number] Returns 1 if the network adapter specified by SysInfoData for your computer is connected to the Internet, -1 if not.
  • INTERNET_CONNECTIVITY_V4 : [Number] Returns 1 if the IPv4 IP address of the network adapter specified by SysInfoData for your computer is connected to the Internet, -1 if not.
  • INTERNET_CONNECTIVITY_V6 : [Number] Returns 1 if the IPv6 IP address of of the network adapter specified by SysInfoData for your computer is connected to the Internet, -1 if not.

Monitor and screen values

  • NUM_MONITORS : [Number] The number of display monitors currently active.
  • SCREEN_SIZE : [String] The resolution of the primary display monitor in the form "width x height".
  • SCREEN_WIDTH : [Number] The width, in pixels, of the monitor. SysInfoData specifies which monitor if there are multiple.
  • SCREEN_HEIGHT : [Number] The height, in pixels, of the monitor specified by SysInfoData.
  • VIRTUAL_SCREEN_TOP : [Number] Y-Coordinate of the upper left corner of the virtual screen. Use SysInfoData to specify a monitor. These coordinates are relative to the primary monitor and can be negative.
  • VIRTUAL_SCREEN_LEFT : [Number] X-Coordinate of the upper left corner of the virtual screen. Use SysInfoData to specify a monitor. These coordinates are relative to the primary monitor and can be negative.
  • VIRTUAL_SCREEN_WIDTH : [Number] Width of the virtual screen which encompasses all display monitors.
  • VIRTUAL_SCREEN_HEIGHT : [Number] Height of the virtual screen which encompasses all display monitors.
  • WORK_AREA : [String] The size of the client area of the primary display monitor in the form "width x height".
  • WORK_AREA_TOP : [Number] Y-Coordinate of the upper left corner of the client area. Use SysInfoData to specify a monitor. These coordinates are relative to the primary monitor and can be negative.
  • WORK_AREA_LEFT : [Number] X-Coordinate of the upper left corner of the client area. Use SysInfoData to specify a monitor. These coordinates are relative to the primary monitor and can be negative.
  • WORK_AREA_WIDTH : [Number] Width of the client area of the primary display monitor. Use SysInfoData to specify a different monitor.
  • WORK_AREA_HEIGHT : [Number] Height of the client area of the primary display monitor. Use SysInfoData to specify a different monitor.

Time Zone values

  • TIMEZONE_ISDST
    [Number] A flag indicating the current state of Daylight Savings Time for the local computer.
    Possible return values are:
    1 : Daylight Savings Time is currently in effect
    0 : Daylight Savings Time is currently not in effect
    -1 : The local region does not use Daylight Savings Time, or the functionality is disabled in Windows.
  • TIMEZONE_BIAS
    [Number] The difference, in minutes, between standard local time and Coordinated Universal Time (UTC). This is the difference from the standard local time to UTC, or UTC = standard local time + time zone bias.
  • TIMEZONE_STANDARD_NAME
    [String] The full name of the local computer's Time Zone when Daylight Savings Time is not in effect. For example, "Eastern Standard Time".
  • TIMEZONE_STANDARD_BIAS
    [Number] The difference in minutes between standard local time and the local time when Daylight Savings Time is not in effect. For most areas, this will always be zero. Adding this to the value of TIMEZONE_BIAS will produce the total actual difference in minutes between the local computer and UTC when Daylight Savings Time is not in effect, or UTC = standard local time + time zone bias + standard bias.
  • TIMEZONE_DAYLIGHT_NAME
    [String] The full name of the local computer's Time Zone when Daylight Savings Time is in effect. For example, "Eastern Daylight Time".
  • TIMEZONE_DAYLIGHT_BIAS
    [Number] The difference in minutes between standard local time and the local time when Daylight Savings Time is in effect. For most areas, this will always be -60. Adding this to the value of TIMEZONE_BIAS will produce the total actual difference in minutes between the local computer and UTC when Daylight Savings Time is in effect, or UTC = standard local time + time zone bias + daylight bias.

    Note: Also see Daylight Savings Time TimeStamp options on Time measures.
SysInfoData

An additional selector option that can be used to define an instance for some SysInfoType values.


Network Interface Controller

For SysInfoType values related to network information, this will identify the network interface controller (NIC) to use.

This can be defined in one of several ways:

  • The string value Best, which will automatically detect the active interface. If not specified, this is the default.
  • The name of the network interface controller. For example, Qualcomm AR938x Wireless Network Adapter.
  • The alias of the network interface. For example, Ethernet or Wi-Fi 3.
  • The index number of the network interface controller. This number can be found by starting Rainmeter with Debug turned on, but be aware that these numbers can change during normal usage of Windows.

Example: SysInfoData=Best

Notes:

When the option is set to Best, the function will select a "wired" network connection in preference to a "wireless" one, if both are active.

When the option is set to Best, DynamicVariables=1 must be set on the measure if you want it to automatically react to changes in the active interface. This should be done if for instance you have a laptop or other computer that you switch between wired and wireless connections.

Additional general help with finding your NIC can be found at Finding your Network Interface for SysInfo and Net.


Monitor number

For SysInfoType values related to monitor information, this will identify the monitor number to use.

Note: The appropriate value to use can be found by opening the Windows Display Properties dialog. It is important to note that "1" is not always the primary display monitor.

Example

[Rainmeter]
Update=1000
DynamicWindowSize=1
BackgroundMode=2
SolidColor=0,0,0,255

[MeasureOSVersion]
Measure=SysInfo
SysInfoType=OS_VERSION
UpdateDivider=-1

[MeasureScreenWidth]
Measure=SysInfo
SysInfoType=SCREEN_WIDTH
SysInfoData=1

[MeasureScreenHeight]
Measure=SysInfo
SysInfoType=SCREEN_HEIGHT
SysInfoData=1

[MeterOSVersion]
Meter=String
MeasureName=MeasureOSVersion
FontSize=12
FontColor=255,255,255,255
StringStyle=Bold
AntiAlias=1
Text=OS Version: %1

[MeterScreenSize]
Meter=String
MeasureName=MeasureScreenWidth
MeasureName2=MeasureScreenHeight
Y=2R
FontSize=12
FontColor=255,255,255,255
StringStyle=Bold
AntiAlias=1
Text=Screen Size: %1 x %2