Jump to content

_SystemMetricsParametersToArray


Recommended Posts

since i did  i want to share it :)

Display all SystemMetricsParameters

;~ *********** The system metric or configuration setting to be retrieved. ***********
;~ SM_ARRANGE|56|The flags that specify how the system arranged minimized windows.
;~ SM_CLEANBOOT|67|The value that specifies how the system is started: (0 Normal boot; 1 Fail-safe boot 2 Fail-safe with network boot)
;~ SM_CMONITORS|80|The number of display monitors on a desktop. For more information, see the Remarks section in this topic.
;~ SM_CMOUSEBUTTONS|43|The number of buttons on a mouse, or zero if no mouse is installed.
;~ SM_CONVERTIBLESLATEMODE|0x2003|Reflects the state of the laptop or slate mode, 0 for Slate Mode and non-zero otherwise.
;~ SM_CXBORDER|5|The width of a window border, in pixels. This is equivalent to the SM_CXEDGE value for windows with the 3-D look.
;~ SM_CXCURSOR|13|The width of a cursor, in pixels. The system cannot create cursors of other sizes.
;~ SM_CXDLGFRAME|7|This value is the same as SM_CXFIXEDFRAME.
;~ SM_CXDOUBLECLK|36|The width of the rectangle around the location of a first click in a double-click sequence, in pixels.
;~ SM_CXDRAG|68|The number of pixels on either side of a mouse-down point that the mouse pointer can move before a drag operation begins.
;~ SM_CXEDGE|45|The width of a 3-D border, in pixels. This metric is the 3-D counterpart of SM_CXBORDER.
;~ SM_CXFIXEDFRAME|7|The thickness of the frame around the perimeter of a window that has a caption but is not sizable, in pixels.
;~ SM_CXFOCUSBORDER|83|The width of the left and right edges of the focus rectangle that the DrawFocusRect draws. This value is in pixels. Windows 2000:  This value is not supported.
;~ SM_CXFRAME|32|This value is the same as SM_CXSIZEFRAME.
;~ SM_CXFULLSCREEN|16|The width of the client area for a full-screen window on the primary display monitor, in pixels.
;~ SM_CXHSCROLL|21|The width of the arrow bitmap on a horizontal scroll bar, in pixels.
;~ SM_CXHTHUMB|10|The width of the thumb box in a horizontal scroll bar, in pixels.
;~ SM_CXICON|11|The default width of an icon, in pixels.
;~ SM_CXICONSPACING|38|The width of a grid cell for items in large icon view, in pixels.
;~ SM_CXMAXIMIZED|61|The default width, in pixels, of a maximized top-level window on the primary display monitor.
;~ SM_CXMAXTRACK|59|The default maximum width of a window that has a caption and sizing borders, in pixels.
;~ SM_CXMENUCHECK|71|The width of the default menu check-mark bitmap, in pixels.
;~ SM_CXMENUSIZE|54|The width of menu bar buttons, such as the child window close button that is used in the multiple document interface, in pixels.
;~ SM_CXMIN|28|The minimum width of a window, in pixels.
;~ SM_CXMINIMIZED|57|The width of a minimized window, in pixels.
;~ SM_CXMINSPACING|47|The width of a grid cell for a minimized window, in pixels.
;~ SM_CXMINTRACK|34|The minimum tracking width of a window, in pixels.
;~ SM_CXPADDEDBORDER|92|The amount of border padding for captioned windows, in pixels. Windows XP/2000:  This value is not supported.
;~ SM_CXSCREEN|0|The width of the screen of the primary display monitor, in pixels.
;~ SM_CXSIZE|30|The width of a button in a window caption or title bar, in pixels.
;~ SM_CXSIZEFRAME|32|The thickness of the sizing border around the perimeter of a window that can be resized, in pixels.
;~ SM_CXSMICON|49|The recommended width of a small icon, in pixels.
;~ SM_CXSMSIZE|52|The width of small caption buttons, in pixels.
;~ SM_CXVIRTUALSCREEN|78|The width of the virtual screen, in pixels.
;~ SM_CXVSCROLL|2|The width of a vertical scroll bar, in pixels.
;~ SM_CYBORDER|6|The height of a window border, in pixels.
;~ SM_CYCAPTION|4|The height of a caption area, in pixels.
;~ SM_CYCURSOR|14|The height of a cursor, in pixels.
;~ SM_CYDLGFRAME|8|This value is the same as SM_CYFIXEDFRAME.
;~ SM_CYDOUBLECLK|37|The height of the rectangle around the location of a first click in a double-click sequence, in pixels.
;~ SM_CYDRAG|69|The number of pixels above and below a mouse-down point that the mouse pointer can move before a drag operation begins.
;~ SM_CYEDGE|46|The height of a 3-D border, in pixels.
;~ SM_CYFIXEDFRAME|8|The thickness of the frame around the perimeter of a window that has a caption but is not sizable, in pixels.
;~ SM_CYFOCUSBORDER|84|The height of the top and bottom edges of the focus rectangle drawn by DrawFocusRect.
;~ SM_CYFRAME|33|This value is the same as SM_CYSIZEFRAME.
;~ SM_CYFULLSCREEN|17|The height of the client area for a full-screen window on the primary display monitor, in pixels.
;~ SM_CYHSCROLL|3|The height of a horizontal scroll bar, in pixels.
;~ SM_CYICON|12|The default height of an icon, in pixels. The LoadIcon function can load only icons with the dimensions SM_CXICON and SM_CYICON.
;~ SM_CYICONSPACING|39|The height of a grid cell for items in large icon view, in pixels.
;~ SM_CYKANJIWINDOW|18|For double byte character set versions of the system, this is the height of the Kanji window at the bottom of the screen, in pixels.
;~ SM_CYMAXIMIZED|62|The default height, in pixels, of a maximized top-level window on the primary display monitor.
;~ SM_CYMAXTRACK|60|The default maximum height of a window that has a caption and sizing borders, in pixels.
;~ SM_CYMENU|15|The height of a single-line menu bar, in pixels.
;~ SM_CYMENUCHECK|72|The height of the default menu check-mark bitmap, in pixels.
;~ SM_CYMENUSIZE|55|The height of menu bar buttons, such as the child window close button that is used in the multiple document interface, in pixels.
;~ SM_CYMIN|29|The minimum height of a window, in pixels.
;~ SM_CYMINIMIZED|58|The height of a minimized window, in pixels.
;~ SM_CYMINSPACING|48|The height of a grid cell for a minimized window, in pixels.
;~ SM_CYMINTRACK|35|The minimum tracking height of a window, in pixels.
;~ SM_CYSCREEN|1|The height of the screen of the primary display monitor, in pixels.
;~ SM_CYSIZE|31|The height of a button in a window caption or title bar, in pixels.
;~ SM_CYSIZEFRAME|33|The thickness of the sizing border around the perimeter of a window that can be resized, in pixels.
;~ SM_CYSMCAPTION|51|The height of a small caption, in pixels.
;~ SM_CYSMICON|50|The recommended height of a small icon, in pixels. Small icons typically appear in window captions and in small icon view.
;~ SM_CYSMSIZE|53|The height of small caption buttons, in pixels.
;~ SM_CYVIRTUALSCREEN|79|The height of the virtual screen, in pixels. The virtual screen is the bounding rectangle of all display monitors.
;~ SM_CYVSCROLL|20|The height of the arrow bitmap on a vertical scroll bar, in pixels.
;~ SM_CYVTHUMB|9|The height of the thumb box in a vertical scroll bar, in pixels.
;~ SM_DBCSENABLED|42|Nonzero if User32.dll supports DBCS; otherwise, 0.
;~ SM_DEBUG|22|Nonzero if the debug version of User.exe is installed; otherwise, 0.
;~ SM_DIGITIZER|94|Nonzero if the current operating system is Windows 7 or Windows Server 2008 R2 and the Tablet PC Input service is started; otherwise, 0.
;~ SM_IMMENABLED|82|Nonzero if Input Method Manager/Input Method Editor features are enabled; otherwise, 0.
;~ SM_MAXIMUMTOUCHES|95|Nonzero if there are digitizers in the system; otherwise, 0.
;~ SM_MEDIACENTER|87|Nonzero if the current operating system is the Windows XP, Media Center Edition, 0 if not.
;~ SM_MENUDROPALIGNMENT|40|Nonzero if drop-down menus are right-aligned with the corresponding menu-bar item; 0 if the menus are left-aligned.
;~ SM_MIDEASTENABLED|74|Nonzero if the system is enabled for Hebrew and Arabic languages, 0 if not.
;~ SM_MOUSEPRESENT|19|Nonzero if a mouse is installed; otherwise, 0.
;~ SM_MOUSEHORIZONTALWHEELPRESENT|91|Nonzero if a mouse with a horizontal scroll wheel is installed; otherwise 0.
;~ SM_MOUSEWHEELPRESENT|75|Nonzero if a mouse with a vertical scroll wheel is installed; otherwise 0.
;~ SM_NETWORK|63|The least significant bit is set if a network is present; otherwise, it is cleared.
;~ SM_PENWINDOWS|41|Nonzero if the Microsoft Windows for Pen computing extensions are installed; zero otherwise.
;~ SM_REMOTECONTROL|0x2001|This system metric is used in a Terminal Services environment to determine if the current Terminal Server session is being remotely controlled.
;~ SM_REMOTESESSION|0x1000|This system metric is used in a Terminal Services environment. If the calling process is associated with a Terminal Services client session, the return value is nonzero.
;~ SM_SAMEDISPLAYFORMAT|81|Nonzero if all the display monitors have the same color format, otherwise, 0.
;~ SM_SECURE|44|This system metric should be ignored; it always returns 0.
;~ SM_SERVERR2|89|The build number if the system is Windows Server 2003 R2; otherwise, 0.
;~ SM_SHOWSOUNDS|70|Nonzero if the user requires an application to present information visually in situations where it would otherwise present the information only in audible form; otherwise, 0.
;~ SM_SHUTTINGDOWN|0x2000|Nonzero if the current session is shutting down; otherwise, 0. Windows 2000:  This value is not supported.
;~ SM_SLOWMACHINE|73|Nonzero if the computer has a low-end (slow) processor; otherwise, 0.
;~ SM_STARTER|88|Nonzero if the current operating system is Windows 7 Starter Edition, Windows Vista Starter, or Windows XP Starter Edition; otherwise, 0.
;~ SM_SWAPBUTTON|23|Nonzero if the meanings of the left and right mouse buttons are swapped; otherwise, 0.
;~ SM_SYSTEMDOCKED|0x2004|Reflects the state of the docking mode, 0 for Undocked Mode and non-zero otherwise.
;~ SM_TABLETPC|86|Nonzero if the current operating system is the Windows XP Tablet PC edition or if the current operating system is Windows Vista or Windows 7 and the Tablet PC Input service is started; otherwise, 0.
;~ SM_XVIRTUALSCREEN|76|The coordinates for the left side of the virtual screen. The virtual screen is the bounding rectangle of all display monitors.
;~ SM_YVIRTUALSCREEN|77|The coordinates for the top of the virtual screen. The virtual screen is the bounding rectangle of all display monitors.
;~ ***********  DO NOT CHANGE ANYTHING BEFORE THIS LINE  ***********
;----------------------------------------------------------------------------------------

#include <WinAPISys.au3>
#include <MsgBoxConstants.au3>
#include <Array.au3>


Local $ParArray = _SystemMetricsParametersToArray()

For $i = 1 To $ParArray[0][0]
    $ParArray[$i][2] = _WinAPI_GetSystemMetrics($ParArray[$i][0]) ; Main Returned Value
Next

_ArrayDisplay($ParArray, "_WinAPI_GetSystemMetrics")

Func _SystemMetricsParametersToArray()
    ; Read the current script file into an array using the filepath.
    Local $aArray = FileReadToArray(@ScriptFullPath)
    Local $iLineCount = @extended
    Local $Parray[1][4], $index = 0

    $Parray[0][0] = $index ; "Value"

    $Parray[0][1] = "Name"
    $Parray[0][2] = "Main"
    $Parray[0][3] = "Tip"

    If @error Then
        MsgBox($MB_SYSTEMMODAL, "", "There was an error reading the file. @error: " & @error) ; An error occurred reading the current script file.
    Else
        For $i = 1 To $iLineCount - 1 ;first line skipet

            If StringLeft($aArray[$i], 6) = ";~ SM_" Then

                Local $TrimedString = StringTrimLeft($aArray[$i], 3)
                ;ConsoleWrite("$TrimedString=" & $TrimedString & @CRLF)

                Local $Col = StringSplit($TrimedString, "|")

                If $Col[0] < 3 Then ExitLoop

                ReDim $Parray[UBound($Parray) + 1][4]

                $index = $Parray[0][0]
                $index += 1
                $Parray[0][0] = $index ; cnt

                $Parray[$index][0] = $Col[2]    ; Value
                $Parray[$index][1] = $Col[1]    ; Name
                $Parray[$index][2] = " - "      ; Main
                $Parray[$index][3] = $Col[3]    ; Tip

            Else
                ConsoleWrite("--> ExitLoop in line: " & 1 + $i & @CRLF)
                ExitLoop
            EndIf

        Next
        Return $Parray
    EndIf

EndFunc   ;==>_SystemMetricsParametersToArray

 

motivation from :

 

 

Edited by ioa747
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...