Xojo Developer Conference
25/27th April 2018 in Denver.
MBS Xojo Conference
6/7th September 2018 in Munich, Germany.

Platforms to show: All Mac Windows Linux Cross-Platform

Previous items

SystemInformationMBS.MacHasHardwareAcceleratedCoreImage as boolean
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 8.0 Yes No No Yes, macOS only No
Function: Queries whether hardware accerlation is used for CoreImage.
Example:
if SystemInformationMBS.MacHasHardwareAcceleratedCoreImage then
msgbox "CoreImage should be very fast."
else
msgbox "CoreImage may be slow."
end if
Notes: Queries OpenGL whether programmable fragments are supported.

Feedback, Comments & Corrections

SystemInformationMBS.MachineID(flags as Integer = 15) as string
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 10.3 Yes Yes Yes Yes No
Function: Returns a Machine ID for the current computer.
Example:
// this is how we build it.
dim t as string = "MachineID"+SystemInformationMBS.HardDiscSerial+SystemInformationMBS.MacSerialNumber+SystemInformationMBS.MacModel+SystemInformationMBS.CPUBrandString

// you could extend it with SystemInformationMBS.WinProductKey

dim m as string = MD5StringMBS(t)

MsgBox "Machine ID: "+SystemInformationMBS.MachineID+EndOfLine+"My Machine ID: "+m
Notes:
Returns a 32 byte long hex string with a Machine ID.
Example value: "EE537483656B25996B51B7F4C99F9083".

This ID is based on the results of the MacSerialNumber, MacModel, CPUBrandString and HardDiscSerial functions. If all 4 functions have no value, the result is always "A2254DEF74A74608D76D1BA49BD2E82A". Also the result could change in future if we fix a bug in one of the functions so that the result values differ.

It is not based on the MACAddressString function as your MAC Address can change when switching between wired and wireless networks. Also we do not check the PhysicalRAM as RAM is a typical thing which changes over time.

You can store this value in some prerences/license file and later compare it agains the current value to see if the machine may have changed. In that case ask user to revalidate license, for example by asking for the serial number.

It can happen that 2 PCs have the same MachineID, typical two virtual machines. So this ID is not unique. But it is very likely that two different computers produce different MachineIDs.

Added flags parameter in 14.1:
flagHardDiscSerial1Use hard disk serial.
flagMacSerialNumber2Use Mac Serial number (on Mac)
flagMacModel4Use Mac Model (on Mac)
flagCPUBrandString8Use CPU Brand String.
flagWinProductKey16Use Product Key (on Windows only)

The Machine ID may be different if one of the components returns a different result. Result may be different in whether app runs as admin or not on Windows.

Feedback, Comments & Corrections

SystemInformationMBS.MacMajorVersion as Integer
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 10.3 Yes No No Yes, macOS only No
Function: The major Mac OS version number.
Example:
// show major version number
MsgBox str(SystemInformationMBS.MacMajorVersion)

// and show all three version numbers together:
MsgBox str(SystemInformationMBS.MacMajorVersion)+"."+str(SystemInformationMBS.MacMinorVersion)+"."+str(SystemInformationMBS.MacBugFixVersion)
Notes: The major system version number; in 10.4.17 this would be the decimal value 10.

Feedback, Comments & Corrections

SystemInformationMBS.MacMinorVersion as Integer
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 10.3 Yes No No Yes, macOS only No
Function: The minor Mac OS version number.
Example:
MsgBox str(SystemInformationMBS.MacMinorVersion)
Notes: The minor system version number; in 10.4.17 this would be the decimal value 4.

Feedback, Comments & Corrections

SystemInformationMBS.MacModel as string
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 8.0 Yes No No Yes, macOS only No
Function: Returns the Mac model string.
Example:
msgbox SystemInformationMBS.MacModel
Notes: for example "<powermac7,3>".

Feedback, Comments & Corrections

SystemInformationMBS.MacSerialNumber as string
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 8.0 Yes No No Yes, macOS only No
Function: Returns the serial number of your local Mac.
Example:
msgbox SystemInformationMBS.MacSerialNumber
Notes:
May return an empty string in case of an error.
(e.g. when being user on Windows or if the Mac does not know its serialnumber)

Feedback, Comments & Corrections

SystemInformationMBS.MacUUID as string
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 8.0 Yes No No Yes, macOS only No
Function: Returns the unique identifier for the given Mac.
Example:
msgbox SystemInformationMBS.MacUUID
Notes: Returns "" on any error.

Feedback, Comments & Corrections

SystemInformationMBS.MacVRAMSize as Int64
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 8.0 Yes No No Yes, macOS only No
Function: Queries the size of the main video graphics memory size.
Example:
msgbox format(SystemInformationMBS.MacVRAMSize,"0")+" Bytes VRAM."
Notes:
Walks over the list of displays, asks on each display for its VRAM size and returns the first value found.

For some reason this seems not to return more than 256 MB of memory.

Feedback, Comments & Corrections

SystemInformationMBS.OSName as string
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 8.0 Yes Yes Yes Yes No
Function: Returns a string to display which OS Version you have.
Example:
msgBox SystemInformationMBS.OSName
' may show: Mac OS X
Notes:
Return values possible:
Windows NT
Windows 2000
Windows XP
Windows Vista
Mac OS
Mac OS X
Linux

and a few other Windows versions like 6.2 alias 8.

In older plugins this function was named OSNameMBS.

Feedback, Comments & Corrections

SystemInformationMBS.OSVersionString as string
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 8.0 Yes Yes Yes Yes No
Function: Returns a string to display which OS Version you have.
Example:
msgBox SystemInformationMBS.OSVersionString
' may show: Mac OS X 10.1.2
Notes:
GetOSVersionStr returns the version string of the OS.
Some Possible values:
"System 7.5.3",
"MacOS 8",
"MacOS 9.1",
"MacOS X 10.4.1",
"Windows NT 3.5",
"Windows 2000 (Service Pack 3)".

In older plugins this function was named OSVersionStrMBS.

Feedback, Comments & Corrections

SystemInformationMBS.PhysicalRAM as Double
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 8.0 Yes Yes Yes Yes No
Function: Returns the size of the physical installed memory.
Example:
msgBox format(SystemInformationMBS.PhysicalRAM/1024/1024,"0")+" MB of RAM built in."
Notes:
On old Windows versions some hundred KBs less for DOS.

Result changed from integer to double in plugin version 3.4 to return correct results on 2 GB RAM. In v5.2 changed to return correct values on Macs with more than 4 GB of RAM.

On Windows the total physical memory size.

In older plugins this function was named PhysicalRAMMBS.

Feedback, Comments & Corrections

SystemInformationMBS.ProcessorCount(Mode as Integer = 0) as Integer
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 8.2 Yes Yes Yes Yes No
Function: Returns the number of processors on the target system.
Example:
MsgBox _
str(SystemInformationMBS.ProcessorCount(SystemInformationMBS.kProcessorCountDefault ))+" default" + EndOfLine + _
str(SystemInformationMBS.ProcessorCount(SystemInformationMBS.kProcessorCountLogical ))+" logical" + EndOfLine + _
str(SystemInformationMBS.ProcessorCount(SystemInformationMBS.kProcessorCountPhysical))+" physical"
Notes:
With plugin version 18.0, we added mode parameter. Pass 1 for physical CPU (kProcessorCountPhysical) and 2 for logical CPU count (kProcessorCountLogical) on Mac/Win.

On Windows or Mac OS the number of cores.
On Linux the number of configured CPUs.

Returns 1 on any error.

Feedback, Comments & Corrections

SystemInformationMBS.ShortUsername as string
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 8.0 Yes Yes Yes Yes No
Function: Returns the short name of the current user.
Example:
msgbox "Welcome "+SystemInformationMBS.ShortUsername+"!"
Notes:
On Linux and Mac OS X the short user name.

On all other cases the same as UserName function.

Feedback, Comments & Corrections

SystemInformationMBS.SystemFont as string
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 8.0 Yes Yes Yes Yes No
Function: Returns the name of the used system font.
Example:
msgbox "You are using the system font "+SystemInformationMBS.SystemFont+"."
Notes:
On Windows the system function returns "System" for our tests. Please tell us if this function is not working for you correct on Windows.

On Linux something like "Sans 10" is returned.

In older plugins this function was named SystemFontMBS.

Feedback, Comments & Corrections

SystemInformationMBS.Username as string
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 8.0 Yes Yes Yes Yes No
Function: Returns the name of the current user.
Example:
msgbox "Welcome "+SystemInformationMBS.Username+"!"
Notes:
Code for Multiple User on Mac OS 9 is build in, but I can't test it.

This is tried on Mac OS:
1. Mac OS X Username function.
2. AppleEvent to FileSharing.
3. Mulitple User Username (Mac OS 9)
4. System username from system resource.

In older plugins this function was named UserNameMBS.

Feedback, Comments & Corrections

SystemInformationMBS.WinBuildNumber as Integer
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 10.3 No Yes No Yes, Windows only No
Function: The build number of the operating system.
Example:
MsgBox str(SystemInformationMBS.WinBuildNumber)
Notes: For example returns 2600 on Windows XP Build 2600.

Feedback, Comments & Corrections

SystemInformationMBS.WinCSDVersion as string
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 10.3 No Yes No Yes, Windows only No
Function: A string, such as "Service Pack 3", that indicates the latest Service Pack installed on the system.
Example:
MsgBox SystemInformationMBS.WinCSDVersion
Notes:
Shows here "Service Pack 3" on a Windows XP installation.
If no Service Pack has been installed, the string is empty.

Feedback, Comments & Corrections

SystemInformationMBS.WindowsAero as boolean
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 10.1 No Yes No Yes, Windows only No
Function: Whether Windows is using the Aero Interface?
Example:
msgbox str(SystemInformationMBS.WindowsAero)
Notes: True if aero is used. False if the status is unknown (e.g. on Windows XP) or Aero is not used.

Feedback, Comments & Corrections

SystemInformationMBS.WinMajorVersion as Integer
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 10.3 No Yes No Yes, Windows only No
Function: The major version number of the operating system.
Example:
MsgBox str(SystemInformationMBS.WinMajorVersion)
Notes: Returns 5 on Windows 2000/XP and 6 on Windows Vista/7/8.

Feedback, Comments & Corrections

SystemInformationMBS.WinMinorVersion as Integer
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 10.3 No Yes No Yes, Windows only No
Function: The minor version number of the operating system.
Example:
MsgBox str(SystemInformationMBS.WinMinorVersion)
Notes: Returns 0 on Windows 2000/Vista and 1 on Windows XP/7 and 2 on Windows 8.

Feedback, Comments & Corrections

SystemInformationMBS.WinPlatformId as Integer
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 10.3 No Yes No Yes, Windows only No
Function: The operating system platform.
Example:
MsgBox str(SystemInformationMBS.WinPlatformId)
Notes:
This member can be VER_PLATFORM_WIN32_NT (2).
e.g. 2 on Windows XP.

Feedback, Comments & Corrections

SystemInformationMBS.WinProductKey as string
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 11.3 No Yes No Yes, Windows only No
Function: Returns the product key of the Windows installation.
Notes: Returns "" on any error.

See also:

Feedback, Comments & Corrections

SystemInformationMBS.WinProductKey(path as string, name as string, keyStartIndex as Integer = 52) as string
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 11.3 No Yes No Yes, Windows only No
Function: Returns the product key of the Windows installation.
Notes:
Returns "" on any error.
With the right path and name you can read also the office versions.

For Office 10, it looks like you need to use 808 as offset.

See also:

Feedback, Comments & Corrections

SystemInformationMBS.WinProductType as Integer
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 10.3 No Yes No Yes, Windows only No
Function: Any additional information about the system.
Example:
MsgBox str(SystemInformationMBS.WinProductType)
Notes:
e.g. 1 on Windows XP.

This member can be one of the following values:
VER_NT_DOMAIN_CONTROLLER2The system is a domain controller and the operating system is Windows Server 2008, Windows Server 2003, or Windows 2000 Server.
VER_NT_SERVER3The operating system is Windows Server 2008, Windows Server 2003, or Windows 2000 Server. Note that a server that is also a domain controller is reported as VER_NT_DOMAIN_CONTROLLER, not VER_NT_SERVER.
VER_NT_WORKSTATION1The operating system is Windows Vista, Windows XP Professional, Windows XP Home Edition, or Windows 2000 Professional.

Feedback, Comments & Corrections

SystemInformationMBS.WinServicePackMajor as Integer
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 10.3 No Yes No Yes, Windows only No
Function: The major version number of the latest Service Pack installed on the system.
Example:
MsgBox str(SystemInformationMBS.WinServicePackMajor)
Notes: For example, for Service Pack 3, the major version number is 3. If no Service Pack has been installed, the value is zero.

Feedback, Comments & Corrections

SystemInformationMBS.WinServicePackMinor as Integer
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 10.3 No Yes No Yes, Windows only No
Function: The minor version number of the latest Service Pack installed on the system.
Example:
MsgBox str(SystemInformationMBS.WinServicePackMinor)
Notes: For example, for Service Pack 3, the minor version number is 0.

Feedback, Comments & Corrections

SystemInformationMBS.WinSuiteMask as Integer
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
method System MBS Util Plugin 10.3 No Yes No Yes, Windows only No
Function: A bit mask that identifies the product suites available on the system.
Example:
MsgBox str(SystemInformationMBS.WinSuiteMask)
Notes:
e.g. 256 on Windows XP.

This member can be a combination of the following values.

VER_SUITE_BACKOFFICE4Microsoft BackOffice components are installed.
VER_SUITE_BLADE&h0400Windows Server 2003, Web Edition is installed.
VER_SUITE_COMPUTE_SERVER&h4000Windows Server 2003, Compute Cluster Edition is installed.
VER_SUITE_DATACENTER&h0080Windows Server 2008 Datacenter, Windows Server 2003, Datacenter Edition, or Windows 2000 Datacenter Server is installed.
VER_SUITE_ENTERPRISE2Windows Server 2008 Enterprise, Windows Server 2003, Enterprise Edition, or Windows 2000 Advanced Server is installed. Refer to the Remarks section for more information about this bit flag.
VER_SUITE_EMBEDDEDNT&h0040Windows XP Embedded is installed.
VER_SUITE_PERSONAL&h0200Windows Vista Home Premium, Windows Vista Home Basic, or Windows XP Home Edition is installed.
VER_SUITE_SINGLEUSERTS&h0100Remote Desktop is supported, but only one interactive session is supported. This value is set unless the system is running in application server mode.
VER_SUITE_SMALLBUSINESS1Microsoft Small Business Server was once installed on the system, but may have been upgraded to another version of Windows. Refer to the Remarks section for more information about this bit flag.
VER_SUITE_SMALLBUSINESS_RESTRICTED&h0020Microsoft Small Business Server is installed with the restrictive client license in force. Refer to the Remarks section for more information about this bit flag.
VER_SUITE_STORAGE_SERVER&h2000Windows Storage Server 2003 R2 or Windows Storage Server 2003is installed.
VER_SUITE_TERMINAL&h0010Terminal Services is installed. This value is always set. If VER_SUITE_TERMINAL is set but VER_SUITE_SINGLEUSERTS is not set, the system is running in application server mode.
VER_SUITE_WH_SERVER&h8000Windows Home Server is installed.

Feedback, Comments & Corrections

Previous items

The items on this page are in the following plugins: MBS Util Plugin.




Links
MBS FileMaker tutorial videos