'wInfo - ZeroDog autodefine "off" $include "windowssdk.inc" TYPE SYSTEM_INFO UNION INT dwOemId INT wProcessorArchitecture ENDUNION INT dwPageSize INT lpMinimumApplicationAddress INT lpMaximumApplicationAddress INT dwActiveProcessorMask INT dwNumberOfProcessors INT dwProcessorType INT dwAllocationGranularity INT wProcessorLevel INT wProcessorRevision ENDTYPE SYSTEM_INFO Info_lpSystemInfo TYPE OSVERSIONINFO INT dwOSVersionInfoSize INT dwMajorVersion INT dwMinorVersion INT dwBuildNumber INT dwPlatformId ISTRING szCSDVersion[128] ENDTYPE OSVERSIONINFO Info_lpVersionInformation TYPE MEMORYSTATUS INT dwLength 'You do not need to set this before calling GlobalMemoryStatus INT dwMemoryLoad UINT dwTotalPhys UINT dwAvailPhys UINT dwTotalPageFile UINT dwAvailPageFile UINT dwTotalVirtual UINT dwAvailVirtual ENDTYPE MEMORYSTATUS Info_lpBuffer TYPE SYSTEMTIME WORD wYear WORD wMonth WORD wDayOfWeek WORD wDay WORD wHour WORD wMinute WORD wSecond WORD wMilliseconds ENDTYPE SYSTEMTIME Info_lpSystemTime TYPE ACCESSTIMEOUT UINT cbSize UINT dwFlags UINT iTimeOutMSec ENDTYPE ACCESSTIMEOUT Info_ACCESSTIMEOUT WINDOW win INT count,x,y,Info_errorcode,l,t,w,h,nSize POINTER pSize ISTRING text$[4096] ISTRING strName[128],strUser[128] OPENWINDOW win,0,0,0,0,@caption|@size|@maxbox|@minbox|@sysmenu,0,"Windows Info",&winproc '*** Setup list view control CONST LVM_FIRST=0x1000 CONST LVM_SETEXTENDEDLISTVIEWSTYLE=(LVM_FIRST+54) CONST LVS_EX_FULLROWSELECT=0x20 CONST LVS_EX_GRIDLINES=1 CONST LVS_EX_LABELTIP=0x4000 CONTROL win,@listview,"",0,0,0,0,@LVSREPORT|@LVSSINGLESEL|@CTLISTEXTENDED|@LVSSHOWSELALWAYS,1 SENDMESSAGE win,LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_LABELTIP,1 CONTROLCMD win,1,@LVINSERTCOLUMN,0,"Info" CONTROLCMD win,1,@LVINSERTCOLUMN,1,"Details" CONTROLCMD win,1,@LVINSERTCOLUMN,2,"Description" '*** Setup bottom pane of window CONTROL win,@static,"Info",0,0,0,0,@CTEDITRIGHT,20 CONTROL win,@edit,"",0,0,0,0,@CTEDITLEFT|@CTEDITRO|@CTEDITAUTOH,10 CONTROL win,@static,"Details",0,0,0,0,@CTEDITRIGHT,21 CONTROL win,@edit,"",0,0,0,0,@CTEDITLEFT|@CTEDITRO|@CTEDITAUTOH,11 CONTROL win,@static,"Description",0,0,0,0,@CTEDITRIGHT,22 CONTROL win,@edit,"",0,0,0,0,@CTEDITLEFT|@CTEDITMULTI|@CTEDITRO|@CTEDITAUTOV|@VSCROLL,12 '*** Set the window size and color SETSIZE win,0,0,800,600 centerwindow win setwindowcolor win,GetSysColor(15) '*** Info subs Info_GetComputerName() Info_GetUserName() Info_GetLocalTime() Info_GetLogicalDrives() Info_GetDriveType() Info_GetVolumeInformation() Info_GetDiskFreeSpaceEx() Info_GetWindowsDirectory() Info_GetSystemDirectory() Info_GetTempPath() Info_GetSpecialFolderPath() Info_GetSystemInfo() Info_GetCaretBlinkTime() Info_GetDoubleClickTime() Info_GetKeyboardType() Info_GetVersionEx() Info_GlobalMemoryStatus() Info_GetSystemMetrics() Info_GetDesktopWindow() Info_IsDebuggerPresent() Info_SystemParametersInfo() Info_IsSystemResumeAutomatic() Info_IsProcessorFeaturePresent() waituntil IsWindowClosed(win) end '*** Window message handler *** SUB winproc(),int SELECT @MESSAGE CASE @IDSIZE getclientsize win,l,t,w,h SETSIZE win,l,t,w,h-150,1 CONTROLCMD win,1,@LVSETCOLWIDTH,0,(w/6)*2 CONTROLCMD win,1,@LVSETCOLWIDTH,1,(w/5) CONTROLCMD win,1,@LVSETCOLWIDTH,2,-2 SETSIZE win,100,h-145,w-105,25,10 SETSIZE win,100,h-120,w-105,25,11 SETSIZE win,100,h-90,w-105,h-(h-90)-5,12 SETSIZE win,5,h-141,90,25,20 SETSIZE win,5,h-116,90,25,21 SETSIZE win,5,h-86,90,25,22 CASE @IDCONTROL if @controlid=1 & @notifycode=@LVNITEMCHANGED for x=0 to count if CONTROLCMD(win,1,@LVGETSELECTED,x) then breakfor if x=count then goto skipchange next x CONTROLCMD(win,1,@LVGETTEXT,x,0,text$) setcontroltext win,10,text$ CONTROLCMD(win,1,@LVGETTEXT,x,1,text$) setcontroltext win,11,text$ CONTROLCMD(win,1,@LVGETTEXT,x,2,text$) setcontroltext win,12,text$ label skipchange ENDIF CASE @IDCLOSEWINDOW CLOSEWINDOW win endselect return 0 ENDSUB SUB Info_GetComputerName nSize=255 pSize=nSize GetComputerNameA(strName,pSize) CONTROLCMD win,1,@LVINSERTITEM,count,"Computer Name" CONTROLCMD win,1,@LVSETTEXT,count,1,strName CONTROLCMD win,1,@LVSETTEXT,count,2,"The computer name of the current system. This name is established at system startup, when it is initialised from the registry" count++ ENDSUB SUB Info_GetUserName GetUserNameA(strUser,pSize) CONTROLCMD win,1,@LVINSERTITEM,count,"User Name" CONTROLCMD win,1,@LVSETTEXT,count,1,strUser CONTROLCMD win,1,@LVSETTEXT,count,2,"The current user's logon name" count++ ENDSUB SUB Info_GetLocalTime STRING Info_Date$,Info_Time$ GetLocalTime(Info_lpSystemTime) select Info_lpSystemTime.wDayOfWeek CASE 0 Info_Date$="Sunday," CASE 1 Info_Date$="Monday," CASE 2 Info_Date$="Tuesday," CASE 3 Info_Date$="Wednesday," CASE 4 Info_Date$="Thursday," CASE 5 Info_Date$="Friday," CASE 6 Info_Date$="Saturday," endselect select Info_lpSystemTime.wMonth CASE 1 Info_Date$=Info_Date$+"January " CASE 2 Info_Date$=Info_Date$+"February " CASE 3 Info_Date$=Info_Date$+"March " CASE 4 Info_Date$=Info_Date$+"April " CASE 5 Info_Date$=Info_Date$+"May " CASE 6 Info_Date$=Info_Date$+"June " CASE 7 Info_Date$=Info_Date$+"July " CASE 8 Info_Date$=Info_Date$+"August " CASE 9 Info_Date$=Info_Date$+"September " CASE 10 Info_Date$=Info_Date$+"October " CASE 11 Info_Date$=Info_Date$+"November " CASE 12 Info_Date$=Info_Date$+"December " endselect Info_Date$=Info_Date$+LTRIM$(STR$(Info_lpSystemTime.wDay))+","+LTRIM$(STR$(Info_lpSystemTime.wYear)) CONTROLCMD win,1,@LVINSERTITEM,count,"Local Date" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_Date$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Date is only a snapshot, not realtime" count++ if Info_lpSystemTime.wHour>12 Info_Time$=LTRIM$(STR$(Info_lpSystemTime.wHour-12))+":" if Info_lpSystemTime.wMinute<10 Info_Time$=Info_Time$+"0"+LTRIM$(STR$(Info_lpSystemTime.wMinute)) else Info_Time$=Info_Time$+LTRIM$(STR$(Info_lpSystemTime.wMinute)) ENDIF Info_Time$=Info_Time$+" pm" else if Info_lpSystemTime.wHour=0 Info_Time$="12:" else Info_Time$=LTRIM$(STR$(Info_lpSystemTime.wHour))+":" ENDIF if Info_lpSystemTime.wMinute<10 Info_Time$=Info_Time$+"0"+LTRIM$(STR$(Info_lpSystemTime.wMinute)) else Info_Time$=Info_Time$+LTRIM$(STR$(Info_lpSystemTime.wMinute)) ENDIF Info_Time$=Info_Time$+" am" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"Local Time" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_Time$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Time is only a snapshot, not realtime" count++ ENDSUB SUB Info_GetLogicalDrives() INT Info_bitmask STRING Info_text$ Info_bitmask=GetLogicalDrives() Info_text$ ="" for x=0 to 25 If (Info_bitmask & INT(2^x)) <> 0 :' If the bitmask is set for the drive letter Info_text$=Info_text$ + Chr$(65 + x)+": " ENDIF next x CONTROLCMD win,1,@LVINSERTITEM,count,"Logical Drives" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_text$ CONTROLCMD win,1,@LVSETTEXT,count,2,"If the function succeeds, the return value is a bitmask representing the currently available disk drives. Bit position 0 (the least-significant bit) is drive A, bit position 1 is drive B, bit position 2 is drive C, and so on. If the function fails, the return value is zero" count++ ENDSUB SUB Info_GetDriveType CONST DRIVE_UNKNOWN=0 CONST DRIVE_NO_ROOT_DIR=1 CONST DRIVE_REMOVABLE=2 CONST DRIVE_FIXED=3 CONST DRIVE_REMOTE=4 CONST DRIVE_CDROM=5 CONST DRIVE_RAMDISK=6 STRING Info_Drivetype for x=0 to 25 y=GetDriveTypeA(CHR$(65+x)+":\\") if y<2 then goto Info_DriveUnavailable print CHR$(65+x)+":\\ ", select y CASE DRIVE_UNKNOWN Info_Drivetype="UNKNOWN" CASE DRIVE_NO_ROOT_DIR Info_Drivetype="NO_ROOT_DIR" CASE DRIVE_REMOVABLE Info_Drivetype="Removable Drive" CASE DRIVE_FIXED Info_Drivetype="Fixed Hard Drive" CASE DRIVE_REMOTE Info_Drivetype="Remote Drive" CASE DRIVE_CDROM Info_Drivetype="CD/DVD ROM Drive" CASE DRIVE_RAMDISK Info_Drivetype="Ramdisk" endselect CONTROLCMD win,1,@LVINSERTITEM,count,"Drive Type - "+CHR$(65+x)+":\\ " CONTROLCMD win,1,@LVSETTEXT,count,1,Info_Drivetype count++ label Info_DriveUnavailable next x ENDSUB SUB Info_GetVolumeInformation CONST FS_CASE_IS_PRESERVED=0x2 CONST FS_CASE_SENSITIVE=0x1 CONST FS_UNICODE_STORED_ON_DISK=0x4 CONST FS_PERSISTENT_ACLS=0x8 CONST FS_FILE_COMPRESSION=0x10 CONST FS_VOL_IS_COMPRESSED=0x8000 CONST FILE_SUPPORTS_ENCRYPTION=0x20000 CONST FILE_SUPPORTS_OBJECT_IDS=0x10000 CONST FILE_SUPPORTS_REPARSE_POINTS=0x80 CONST FILE_SUPPORTS_SPARSE_FILES=0x40 CONST FILE_VOLUME_QUOTAS=0x20 STRING Info_lpVolumeNameBuffer,Info_lpFileSystemNameBuffer,Info_lpFileSystemFlags_text$ INT64 Info_lpVolumeSerialNumber,Info_lpMaximumComponentLength,Info_lpFileSystemFlags INT Info_bitmask STRING Info_text$ Info_bitmask=GetLogicalDrives() for x=0 to 25 If (Info_bitmask & INT(2^x)) <> 0 'If the drive is available, get info Info_lpFileSystemFlags_text$="" Info_lpVolumeNameBuffer="": Info_lpFileSystemNameBuffer="": Info_text$ ="" Info_lpVolumeSerialNumber=0: Info_lpMaximumComponentLength=0: Info_lpFileSystemFlags=0 GetVolumeInformationA(CHR$(65+x)+":\\",Info_lpVolumeNameBuffer,255,Info_lpVolumeSerialNumber,Info_lpMaximumComponentLength,Info_lpFileSystemFlags,Info_lpFileSystemNameBuffer,255) if (Info_lpFileSystemFlags & FS_CASE_IS_PRESERVED)=FS_CASE_IS_PRESERVED Info_lpFileSystemFlags_text$=" FS_CASE_IS_PRESERVED " ENDIF if (Info_lpFileSystemFlags & FS_CASE_SENSITIVE)=FS_CASE_SENSITIVE Info_lpFileSystemFlags_text$=Info_lpFileSystemFlags_text$ + " FS_CASE_SENSITIVE " ENDIF if (Info_lpFileSystemFlags & FS_UNICODE_STORED_ON_DISK)=FS_UNICODE_STORED_ON_DISK Info_lpFileSystemFlags_text$=Info_lpFileSystemFlags_text$ + " FS_UNICODE_STORED_ON_DISK " ENDIF if (Info_lpFileSystemFlags & FS_PERSISTENT_ACLS)=FS_PERSISTENT_ACLS Info_lpFileSystemFlags_text$=Info_lpFileSystemFlags_text$ + " FS_PERSISTENT_ACLS " ENDIF if (Info_lpFileSystemFlags & FS_FILE_COMPRESSION)=FS_FILE_COMPRESSION Info_lpFileSystemFlags_text$=Info_lpFileSystemFlags_text$ + " FS_FILE_COMPRESSION " ENDIF if (Info_lpFileSystemFlags & FILE_VOLUME_QUOTAS)=FILE_VOLUME_QUOTAS Info_lpFileSystemFlags_text$=Info_lpFileSystemFlags_text$ + " FILE_VOLUME_QUOTAS " ENDIF if (Info_lpFileSystemFlags & FILE_SUPPORTS_SPARSE_FILES)=FILE_SUPPORTS_SPARSE_FILES Info_lpFileSystemFlags_text$=Info_lpFileSystemFlags_text$ + " FILE_SUPPORTS_SPARSE_FILES " ENDIF if (Info_lpFileSystemFlags & FILE_SUPPORTS_REPARSE_POINTS)=FILE_SUPPORTS_REPARSE_POINTS Info_lpFileSystemFlags_text$=Info_lpFileSystemFlags_text$ + " FILE_SUPPORTS_REPARSE_POINTS " ENDIF if (Info_lpFileSystemFlags & FS_VOL_IS_COMPRESSED)=FS_VOL_IS_COMPRESSED Info_lpFileSystemFlags_text$=Info_lpFileSystemFlags_text$ + " FS_VOL_IS_COMPRESSED " ENDIF if (Info_lpFileSystemFlags & FILE_SUPPORTS_OBJECT_IDS)=FILE_SUPPORTS_OBJECT_IDS Info_lpFileSystemFlags_text$=Info_lpFileSystemFlags_text$ + " FILE_SUPPORTS_OBJECT_IDS " ENDIF if (Info_lpFileSystemFlags & FILE_SUPPORTS_ENCRYPTION)=FILE_SUPPORTS_ENCRYPTION Info_lpFileSystemFlags_text$=Info_lpFileSystemFlags_text$ + " FILE_SUPPORTS_ENCRYPTION " ENDIF if LTRIM$(HEX$(Info_lpVolumeSerialNumber))<>"0" CONTROLCMD win,1,@LVINSERTITEM,count,"Volume Information - "+Chr$(65 + x)+":\\ - Name" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_lpVolumeNameBuffer CONTROLCMD win,1,@LVSETTEXT,count,2,"The name of the specified volume" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"Volume Information - "+Chr$(65 + x)+":\\ - Serial Number" CONTROLCMD win,1,@LVSETTEXT,count,1,"0x"+LTRIM$(HEX$(Info_lpVolumeSerialNumber)) CONTROLCMD win,1,@LVSETTEXT,count,2,"The volume serial number" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"Volume Information - "+Chr$(65 + x)+":\\ - Maximum Component Length" CONTROLCMD win,1,@LVSETTEXT,count,1,LTRIM$(STR$(Info_lpMaximumComponentLength)) CONTROLCMD win,1,@LVSETTEXT,count,2,"The maximum length, in characters, of a filename component supported by the specified file system. A filename component is that portion of a filename between backslashes" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"Volume Information - "+Chr$(65 + x)+":\\ - File System Flags" CONTROLCMD win,1,@LVSETTEXT,count,1,"0x0"+HEX$(Info_lpFileSystemFlags) CONTROLCMD win,1,@LVSETTEXT,count,2,"Flags associated with the specified file system: ("+"0x0"+HEX$(Info_lpFileSystemFlags)+")="+Info_lpFileSystemFlags_text$ count++ CONTROLCMD win,1,@LVINSERTITEM,count,"Volume Information - "+Chr$(65 + x)+":\\ - File System Name" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_lpFileSystemNameBuffer CONTROLCMD win,1,@LVSETTEXT,count,2,"The name of the file system (such as FAT or NTFS)" count++ ENDIF ENDIF next x ENDSUB SUB Info_GetDiskFreeSpaceEx INT64 Info_lpFreeBytesAvailableToCaller,Info_lpTotalNumberOfBytes,Info_lpTotalNumberOfFreeBytes INT Info_bitmask STRING Info_text$ Info_bitmask=GetLogicalDrives() Info_text$="" for x=0 to 25 If (Info_bitmask & INT(2^x)) <> 0 Info_lpFreeBytesAvailableToCaller=0: Info_lpTotalNumberOfBytes=0: Info_lpTotalNumberOfFreeBytes=0 Info_errorcode=GetDiskFreeSpaceExA(Chr$(65 + x)+":\\",Info_lpFreeBytesAvailableToCaller,Info_lpTotalNumberOfBytes,Info_lpTotalNumberOfFreeBytes) CONTROLCMD win,1,@LVINSERTITEM,count,"Disk Free Space - "+Chr$(65 + x)+":\ Free Bytes Available To Caller" CONTROLCMD win,1,@LVSETTEXT,count,1,LTRIM$(USING("%q###,###",Info_lpFreeBytesAvailableToCaller)) CONTROLCMD win,1,@LVSETTEXT,count,2,"The total number of free bytes on the disk that are available to the user associated with the calling thread. If per-user quotas are in use, this value may be less than the total number of free bytes on the disk" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"Disk Free Space - "+Chr$(65 + x)+":\ Total Number Of Bytes" CONTROLCMD win,1,@LVSETTEXT,count,1,LTRIM$(USING("%q###,###",Info_lpTotalNumberOfBytes)) CONTROLCMD win,1,@LVSETTEXT,count,2,"The total number of bytes on the disk that are available to the user associated with the calling thread. If per-user quotas are in use, this value may be less than the total number of bytes on the disk" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"Disk Free Space - "+Chr$(65 + x)+":\ Total Number Of Free Bytes" CONTROLCMD win,1,@LVSETTEXT,count,1,LTRIM$(USING("%q###,###",Info_lpTotalNumberOfFreeBytes)) CONTROLCMD win,1,@LVSETTEXT,count,2,"The total number of free bytes on the disk" count++ ENDIF next x ENDSUB SUB Info_GetWindowsDirectory ISTRING Info_lpBuffer[1025] GetWindowsDirectoryA(Info_lpBuffer,1025) CONTROLCMD win,1,@LVINSERTITEM,count,"Windows Directory" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_lpBuffer CONTROLCMD win,1,@LVSETTEXT,count,2,"The path of the Windows directory. The Windows directory contains such files as Win32-based applications, initialisation files and help files" count++ ENDSUB SUB Info_GetSystemDirectory ISTRING Info_lpBuffer[1025] GetSystemDirectoryA(Info_lpBuffer,1025) CONTROLCMD win,1,@LVINSERTITEM,count,"System Directory" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_lpBuffer CONTROLCMD win,1,@LVSETTEXT,count,2,"The path of the system directory. The system directory contains such files as dynamic-link libraries, drivers and font files" count++ ENDSUB SUB Info_GetTempPath() STRING Info_lpBuffer GetTempPathA(255,Info_lpBuffer) CONTROLCMD win,1,@LVINSERTITEM,count,"Temp Path" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_lpBuffer CONTROLCMD win,1,@LVSETTEXT,count,2,"The path of the directory designated for temporary files" count++ ENDSUB SUB Info_GetSpecialFolderPath DECLARE import,SHGetSpecialFolderPathA(hwnd:INT,pszPath:STRING,dwFlags:INT,fcreate:int),INT ISTRING Info_SpecialFolderPath$[260] CONST CSIDL_ALTSTARTUP=0x1D SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_ALTSTARTUP,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - ALTSTARTUP" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that corresponds to the user's non-localized Startup program group" count++ CONST CSIDL_APPDATA=0x1A Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_APPDATA,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - APPDATA" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that serves as a common repository for application-specific data" count++ CONST CSIDL_BITBUCKET=0xA Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_BITBUCKET,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - BITBUCKET" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory containing file objects in the user's Recycle Bin. The location of this directory is not in the registry; it is marked with the hidden and system attributes to prevent the user from moving or deleting it" count++ CONST CSIDL_COMMON_ALTSTARTUP=0x1E Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_COMMON_ALTSTARTUP,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - COMMON_ALTSTARTUP" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that corresponds to the non-localized Startup program group for all users" count++ CONST CSIDL_COMMON_DESKTOPDIRECTORY=0x19 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_COMMON_DESKTOPDIRECTORY,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - COMMON_DESKTOPDIRECTORY" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that contains files and folders that appear on the Desktop for all users" count++ CONST CSIDL_COMMON_FAVORITES=0x1F Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_COMMON_FAVORITES,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - COMMON_FAVORITES" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that serves as a common repository for all users' favourite items" count++ CONST CSIDL_COMMON_PROGRAMS=0x17 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_COMMON_PROGRAMS,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - COMMON_PROGRAMS" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that contains the directories for the common program groups that appear on the Start menu for all users" count++ CONST CSIDL_COMMON_STARTMENU=0x16 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_COMMON_STARTMENU,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - COMMON_STARTMENU" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that contains the programs and folders that appear on the Start menu for all users" count++ CONST CSIDL_COMMON_STARTUP=0x18 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_COMMON_STARTUP,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - COMMON_STARTUP" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that contains the programs that appear in the Startup folder for all users" count++ CONST CSIDL_CONTROLS=0x3 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_CONTROLS,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - CONTROLS" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Virtual folder containing icons for the Control Panel applications" count++ CONST CSIDL_COOKIES=0x21 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_COOKIES,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - COOKIES" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that serves as a common repository for Internet cookies" count++ CONST CSIDL_DESKTOP=0x0 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_DESKTOP,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - DESKTOP" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Windows Desktop - virtual folder at the root of the namespace" count++ CONST CSIDL_DESKTOPDIRECTORY=0x10 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_DESKTOPDIRECTORY,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - DESKTOPDIRECTORY" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory used to physically store file objects on the Desktop (not to be confused with the desktop folder itself)" count++ CONST CSIDL_DRIVES=0x11 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_DRIVES,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - DRIVES" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"My Computer - virtual folder containing everything on the local computer: storage devices, printers and Control Panel. The folder may also contain mapped network drives" count++ CONST CSIDL_FAVORITES=0x6 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_FAVORITES,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - FAVORITES" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that serves as a common repository for the user's favourite items" count++ CONST CSIDL_FONTS=0x14 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_FONTS,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - FONTS" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Virtual folder containing fonts" count++ CONST CSIDL_HISTORY=0x22 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_HISTORY,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - HISTORY" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that serves as a common repository for Internet history items" count++ CONST CSIDL_INTERNET=0x1 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_INTERNET,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - INTERNET" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Virtual folder representing the Internet" count++ CONST CSIDL_INTERNET_CACHE=0x20 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_INTERNET_CACHE,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - INTERNET_CACHE" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that serves as a common repository for temporary Internet files" count++ CONST CSIDL_NETHOOD=0x13 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_NETHOOD,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - NETHOOD" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory containing objects that appear in the network neighborhood" count++ CONST CSIDL_NETWORK=0x12 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_NETWORK,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - NETWORK" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Network Neighborhood Folder - virtual folder representing the top level of the network hierarchy" count++ CONST CSIDL_PERSONAL=0x5 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_PERSONAL,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - PERSONAL" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that serves as a common repository for documents" count++ CONST CSIDL_PRINTERS=0x4 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_PRINTERS,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - PRINTERS" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Virtual folder containing installed printers" count++ CONST CSIDL_PRINTHOOD=0x1B Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_PRINTHOOD,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - PRINTHOOD" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that serves as a common repository for printer links" count++ CONST CSIDL_PROGRAMS=0x2 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_PROGRAMS,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - PROGRAMS" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that contains the user's program groups (which are also file system directories)" count++ CONST CSIDL_RECENT=0x8 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_RECENT,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - RECENT" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that contains the user's most recently used documents" count++ CONST CSIDL_SENDTO=0x9 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_SENDTO,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - SENDTO" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that contains Send To menu items" count++ CONST CSIDL_STARTMENU=0xB Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_STARTMENU,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - STARTMENU" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory containing Start menu items" count++ CONST CSIDL_STARTUP=0x7 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_STARTUP,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - STARTUP" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that corresponds to the user's Startup program group. The system starts these programs whenever any user logs onto Windows" count++ CONST CSIDL_TEMPLATES=0x15 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_TEMPLATES,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - TEMPLATES" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that serves as a common repository for document templates" count++ CONST CSIDL_ADMINTOOLS=0x30 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_ADMINTOOLS,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - ADMINTOOLS" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Administration Tools Folder for the current user" count++ CONST CSIDL_COMMON_ADMINTOOLS=0x2F Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_COMMON_ADMINTOOLS,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - COMMON_ADMINTOOLS" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Administration Tools Folder for all users" count++ CONST CSIDL_COMMON_APPDATA=0x23 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_COMMON_APPDATA,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - COMMON_APPDATA" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Application Data folder for all users" count++ CONST CSIDL_COMMON_DOCUMENTS=0x2E Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_COMMON_DOCUMENTS,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - COMMON_DOCUMENTS" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Documents folder for all users" count++ CONST CSIDL_PROGRAM_FILES=0x26 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_PROGRAM_FILES,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - PROGRAM_FILES" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Program Files folder for the current user" count++ CONST CSIDL_WINDOWS=0x24 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_WINDOWS,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - WINDOWS" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Windows folder" count++ CONST CSIDL_CONNECTIONS=0x31 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_CONNECTIONS,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - CONNECTIONS" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Network Connection Folder" count++ CONST CSIDL_COMMON_TEMPLATES=0x2D Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_COMMON_TEMPLATES,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - COMMON_TEMPLATES" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"File system directory that serves as a common repository for document templates for all users" count++ CONST CSIDL_LOCAL_APPDATA=0x1C Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_LOCAL_APPDATA,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - LOCAL_APPDATA" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Local Settings folder for the current user" count++ CONST CSIDL_MYPICTURES=0x27 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_MYPICTURES,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - MYPICTURES" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"My Pictures folder for the current user" count++ CONST CSIDL_PROFILE=0x28 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_PROFILE,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - PROFILE" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Profile folder for the current user" count++ CONST CSIDL_PROGRAM_FILES_COMMON=0x2B Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_PROGRAM_FILES_COMMON,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - PROGRAM_FILES_COMMON" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Program Files folder for all users" count++ CONST CSIDL_PROGRAM_FILES_COMMONX86=0x2C Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_PROGRAM_FILES_COMMONX86,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - PROGRAM_FILES_COMMONX86" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"" count++ CONST CSIDL_PROGRAM_FILESX86=0x2A Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_PROGRAM_FILESX86,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - PROGRAM_FILESX86" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"" count++ CONST CSIDL_SYSTEM=0x25 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_SYSTEM,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - SYSTEM" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Windows System32 folder" count++ CONST CSIDL_SYSTEMX86=0x29 Info_SpecialFolderPath$="" SHGetSpecialFolderPathA(0,Info_SpecialFolderPath$,CSIDL_SYSTEMX86,0) CONTROLCMD win,1,@LVINSERTITEM,count,"Special Folder Path - SYSTEMX86" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SpecialFolderPath$ CONTROLCMD win,1,@LVSETTEXT,count,2,"" count++ ENDSUB SUB Info_GetSystemInfo GetSystemInfo(Info_lpSystemInfo) CONTROLCMD win,1,@LVINSERTITEM,count,"System Info - Processor Architecture" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_lpSystemInfo.wProcessorArchitecture) CONTROLCMD win,1,@LVSETTEXT,count,2,"Specifies the system's processor architecture" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Info - OEM ID" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_lpSystemInfo.dwOemId) CONTROLCMD win,1,@LVSETTEXT,count,2,"An obsolete member that is retained for compatibility with previous versions of Windows NT. Beginning with Windows NT 3.51 and the initial release of Windows 95, use the wProcessorArchitecture branch of the union" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Info - Page Size" CONTROLCMD win,1,@LVSETTEXT,count,1,USING(",###",Info_lpSystemInfo.dwPageSize) CONTROLCMD win,1,@LVSETTEXT,count,2,"Specifies the page size and the granularity of page protection and commitment. This is the page size used by the VirtualAlloc function" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Info - Minimum Application Address" CONTROLCMD win,1,@LVSETTEXT,count,1,"0x"+HEX$(Info_lpSystemInfo.lpMinimumApplicationAddress) CONTROLCMD win,1,@LVSETTEXT,count,2,"Pointer to the lowest memory address accessible to applications and dynamic-link libraries (DLLs)" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Info - Maximum Application Address" CONTROLCMD win,1,@LVSETTEXT,count,1,"0x"+HEX$(Info_lpSystemInfo.lpMaximumApplicationAddress) CONTROLCMD win,1,@LVSETTEXT,count,2,"Pointer to the highest memory address accessible to applications and DLLs" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Info - Active Processor Mask" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_lpSystemInfo.dwActiveProcessorMask) CONTROLCMD win,1,@LVSETTEXT,count,2,"Specifies a mask representing the set of processors configured into the system. Bit 0 is processor 0; bit 31 is processor 31" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Info - Number Of Processors" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_lpSystemInfo.dwNumberOfProcessors) CONTROLCMD win,1,@LVSETTEXT,count,2,"Specifies the number of processors in the system" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Info - Processor Type" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_lpSystemInfo.dwProcessorType) CONTROLCMD win,1,@LVSETTEXT,count,2,"Specifies the type of processor in the system" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Info - Allocation Granularity" CONTROLCMD win,1,@LVSETTEXT,count,1,USING(",###",Info_lpSystemInfo.dwAllocationGranularity) CONTROLCMD win,1,@LVSETTEXT,count,2,"Specifies the granularity with which virtual memory is allocated. For example, a VirtualAlloc request to allocate 1 byte will reserve an address space of dwAllocationGranularity bytes. This value was hard coded as 64K in the past, but other hardware architectures may require different values" count++ ENDSUB SUB Info_GetCaretBlinkTime CONTROLCMD win,1,@LVINSERTITEM,count,"Caret Blink Time" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetCaretBlinkTime())+"ms" CONTROLCMD win,1,@LVSETTEXT,count,2,"The elapsed time, in milliseconds, required to invert the caret's pixels. The user can set this value using the Control Panel" count++ ENDSUB SUB Info_GetDoubleClickTime CONTROLCMD win,1,@LVINSERTITEM,count,"Double Click Time" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetDoubleClickTime())+"ms" CONTROLCMD win,1,@LVSETTEXT,count,2,"The current double-click time for the mouse. A double-click is a series of two clicks of the mouse button, the second occurring within a specified time after the first. The double-click time is the maximum number of milliseconds that may occur between the first and second click of a double-click" count++ ENDSUB SUB Info_GetKeyboardType STRING Info_KeyboardType$ select GetKeyboardType(0) CASE 1 Info_KeyboardType$="IBM PC/XT or compatible (83-key) keyboard" CASE 2 Info_KeyboardType$= "Olivetti ICO (102-key) keyboard" CASE 3 Info_KeyboardType$= "IBM PC/AT (84-key) or similar keyboard" CASE 4 Info_KeyboardType$= "IBM enhanced (101- or 102-key) keyboard" CASE 5 Info_KeyboardType$= "Nokia 1050 and similar keyboards" CASE 6 Info_KeyboardType$= "Nokia 9140 and similar keyboards" CASE 7 Info_KeyboardType$= "Japanese keyboard" endselect CONTROLCMD win,1,@LVINSERTITEM,count,"Keyboard - Type" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetKeyboardType(0)) CONTROLCMD win,1,@LVSETTEXT,count,2,Info_KeyboardType$ count++ CONTROLCMD win,1,@LVINSERTITEM,count,"Keyboard - SubType" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetKeyboardType(1)) CONTROLCMD win,1,@LVSETTEXT,count,2,"The subtype is an original equipment manufacturer (OEM)-dependent value" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"Keyboard - Number of F Keys" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetKeyboardType(2)) CONTROLCMD win,1,@LVSETTEXT,count,2,"Number of function keys for this keyboard type" count++ ENDSUB SUB Info_GetVersionEx STRING Info_PlatformId$ Info_lpVersionInformation.dwOSVersionInfoSize=LEN(Info_lpVersionInformation) GetVersionExA(Info_lpVersionInformation) CONTROLCMD win,1,@LVINSERTITEM,count,"Version - Major Version" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_lpVersionInformation.dwMajorVersion) CONTROLCMD win,1,@LVSETTEXT,count,2,"Identifies the major version number of the operating system. For example, for Windows NT version 3.51, the major version number is 3; and for Windows NT version 4.0, the major version number is 4" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"Version - Minor Version" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_lpVersionInformation.dwMinorVersion) CONTROLCMD win,1,@LVSETTEXT,count,2,"Identifies the minor version number of the operating system. For example, for Windows NT version 3.51, the minor version number is 51; and for Windows NT version 4.0, the minor version number is 0" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"Version - Build Number" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_lpVersionInformation.dwBuildNumber) CONTROLCMD win,1,@LVSETTEXT,count,2,"Identifies the build number of the operating system" count++ select Info_lpVersionInformation.dwPlatformId CASE 0 Info_PlatformId$="Win32s on Windows 3.1" CASE 1 Info_PlatformId$= "Win32 on Windows 95 or Windows 98" CASE 2 Info_PlatformId$= "Win32 on Windows NT" endselect CONTROLCMD win,1,@LVINSERTITEM,count,"Version - Platform ID" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_lpVersionInformation.dwPlatformId) CONTROLCMD win,1,@LVSETTEXT,count,2,Info_PlatformId$ count++ CONTROLCMD win,1,@LVINSERTITEM,count,"Version - CSD Version" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_lpVersionInformation.szCSDVersion CONTROLCMD win,1,@LVSETTEXT,count,2,"A string, such as \"Service Pack 3\", that indicates the latest Service Pack installed on the system. If no Service Pack has been installed, the string is empty" count++ ENDSUB SUB Info_GlobalMemoryStatus GlobalMemoryStatus(Info_lpBuffer) CONTROLCMD win,1,@LVINSERTITEM,count,"Global Memory Status - Memory Load" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_lpBuffer.dwMemoryLoad)+"%" CONTROLCMD win,1,@LVSETTEXT,count,2,"Specifies a number between 0 and 100 that gives a general idea of current memory utilization, in which 0 indicates no memory use and 100 indicates full memory use" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"Global Memory Status - Total Physical" CONTROLCMD win,1,@LVSETTEXT,count,1,USING(",###",Info_lpBuffer.dwTotalPhys) CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates the total number of bytes of physical memory" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"Global Memory Status - Available Physical" CONTROLCMD win,1,@LVSETTEXT,count,1,USING(",###",Info_lpBuffer.dwAvailPhys) CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates the number of bytes of physical memory available" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"Global Memory Status - Total Page File" CONTROLCMD win,1,@LVSETTEXT,count,1,USING(",###",Info_lpBuffer.dwTotalPageFile) CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates the total number of bytes that can be stored in the paging file. Note that this number does not represent the actual physical size of the paging file on disk" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"Global Memory Status - Available Page File" CONTROLCMD win,1,@LVSETTEXT,count,1,USING(",###",Info_lpBuffer.dwAvailPageFile) CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates the number of bytes available in the paging file" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"Global Memory Status - Total Virtual" CONTROLCMD win,1,@LVSETTEXT,count,1,USING(",###",Info_lpBuffer.dwTotalVirtual) CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates the total number of bytes that can be described in the user mode portion of the virtual address space of the calling process" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"Global Memory Status - Available Virtual" CONTROLCMD win,1,@LVSETTEXT,count,1,USING(",###",Info_lpBuffer.dwAvailVirtual) CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates the number of bytes of unreserved and uncommitted memory in the user mode portion of the virtual address space of the calling process" count++ ENDSUB SUB Info_GetSystemMetrics CONST SM_CLEANBOOT=67 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Clean Boot" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CLEANBOOT)) CONTROLCMD win,1,@LVSETTEXT,count,2,"Value that specifies how the system was started: 0 Normal boot, 1 Fail-safe boot, 2 Fail-safe with network boot" count++ CONST SM_CMONITORS=80 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Monitors" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CMONITORS)) CONTROLCMD win,1,@LVSETTEXT,count,2,"Number of display monitors on the Desktop" count++ CONST SM_MOUSEPRESENT=19 STRING Info_MousePresent$ if GetSystemMetrics(SM_MOUSEPRESENT)>0 Info_MousePresent$= "TRUE" else Info_MousePresent$= "FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Mouse Present" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_MousePresent$ CONTROLCMD win,1,@LVSETTEXT,count,2,"TRUE or non-zero if a mouse is installed; FALSE or zero otherwise" count++ CONST SM_MOUSEWHEELPRESENT=75 STRING Info_MouseWheelPresent$ if GetSystemMetrics(SM_MOUSEWHEELPRESENT)>0 Info_MouseWheelPresent$="TRUE" else Info_MouseWheelPresent$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Mouse Wheel Present" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_MouseWheelPresent$ CONTROLCMD win,1,@LVSETTEXT,count,2,"TRUE or non-zero if a mouse with a wheel is installed; FALSE or zero otherwise" count++ CONST SM_CMOUSEBUTTONS=43 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Mouse Buttons" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CMOUSEBUTTONS)) CONTROLCMD win,1,@LVSETTEXT,count,2,"Number of buttons on mouse, or zero if no mouse is installed" count++ CONST SM_SWAPBUTTON=23 STRING Info_SwapButton$ if GetSystemMetrics(SM_SWAPBUTTON)>0 Info_SwapButton$="TRUE" else Info_SwapButton$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Swap Buttons" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SwapButton$ CONTROLCMD win,1,@LVSETTEXT,count,2,"TRUE or non-zero if the meanings of the left and right mouse buttons are swapped; FALSE or zero otherwise" count++ CONST SM_CXCURSOR=13 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Cursor X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXCURSOR))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels, of a cursor. The system cannot create cursors of other sizes" count++ CONST SM_CYCURSOR=14 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Cursor Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYCURSOR))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels, of a cursor. The system cannot create cursors of other sizes" count++ CONST SM_CXDOUBLECLK=36 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Double Click X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXDOUBLECLK))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of the rectangle around the location of a first click in a double-click sequence. The second click must occur within this rectangle for the system to consider the two clicks a double-click. (The two clicks must also occur within a specified time.)" count++ CONST SM_CYDOUBLECLK=37 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Double Click Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXDOUBLECLK))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of the rectangle around the location of a first click in a double-click sequence. The second click must occur within this rectangle for the system to consider the two clicks a double-click. (The two clicks must also occur within a specified time.)" count++ CONST SM_CXDRAG=68 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Drag X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXDRAG))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of a rectangle centered on a drag point to allow for limited movement of the mouse pointer before a drag operation begins. This allows the user to click and release the mouse button easily without unintentionally starting a drag operation" count++ CONST SM_CYDRAG=69 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Drag Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYDRAG))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of a rectangle centered on a drag point to allow for limited movement of the mouse pointer before a drag operation begins. This allows the user to click and release the mouse button easily without unintentionally starting a drag operation" count++ CONST SM_CXSCREEN=0 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Screen X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXSCREEN))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of the screen of the primary display monitor" count++ CONST SM_CYSCREEN=1 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Screen Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYSCREEN))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of the screen of the primary display monitor" count++ CONST SM_CXFULLSCREEN=16 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Fullscreen X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXFULLSCREEN))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width of the client area for a full-screen window on the primary display monitor" count++ CONST SM_CYFULLSCREEN=17 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Fullscreen Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYFULLSCREEN))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height of the client area for a full-screen window on the primary display monitor" count++ CONST SM_CXMAXIMIZED=61 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Maximized X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXMAXIMIZED))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of a maximized top-level window on the primary display monitor" count++ CONST SM_CYMAXIMIZED=62 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Maximized Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYMAXIMIZED))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of a maximized top-level window on the primary display monitor" count++ CONST SM_CXMAXTRACK=59 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Max Track X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXMAXTRACK))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Default maximum width in pixels of a window that has a caption and sizing borders. This metric refers to the entire Desktop. The user cannot drag the window frame to a size larger than these dimensions" count++ CONST SM_CYMAXTRACK=60 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Max Track Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYMAXTRACK))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Default maximum height in pixels of a window that has a caption and sizing borders. This metric refers to the entire Desktop. The user cannot drag the window frame to a size larger than these dimensions" count++ CONST SM_CXMINTRACK=34 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Min Tracking X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXMINTRACK))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Minimum tracking width in pixels of a window. The user cannot drag the window frame to a size smaller than these dimensions" count++ CONST SM_CYMINTRACK=35 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Min Tracking Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYMINTRACK))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Minimum tracking height in pixels of a window. The user cannot drag the window frame to a size smaller than these dimensions" count++ CONST SM_CYCAPTION=4 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Caption Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYCAPTION))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of a normal caption area" count++ CONST SM_CXSIZE=30 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Caption Button Size X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXSIZE))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of a button in a window's caption or title bar" count++ CONST SM_CYSIZE=31 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Caption Button Size Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYSIZE))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of a button in a window's caption or title bar" count++ CONST SM_CYSMCAPTION=51 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Small Caption Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYSMCAPTION))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of a small caption" count++ CONST SM_CXSMSIZE=52 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Small Caption Button X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXSMSIZE))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of small caption buttons" count++ CONST SM_CYSMSIZE=53 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Small Caption Button Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXSMSIZE))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of small caption buttons" count++ CONST SM_CXBORDER=5 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Border X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXBORDER))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of a window border" count++ CONST SM_CYBORDER=6 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Border Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYBORDER))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of a window border" count++ CONST SM_CXEDGE=45 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Edge X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXEDGE))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of a 3-D border" count++ CONST SM_CYEDGE=46 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Edge Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYEDGE))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of a 3-D border" count++ CONST SM_CXFRAME=32 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Frame X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXFRAME))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of the sizing border around the perimeter of a window that can be resized" count++ CONST SM_CYFRAME=33 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Frame Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYFRAME))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of the sizing border around the perimeter of a window that can be resized" count++ CONST SM_CXSIZEFRAME=32 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Size Frame X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXSIZEFRAME))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of the sizing border around the perimeter of a window that can be resized" count++ CONST SM_CYSIZEFRAME=33 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Size Frame Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYSIZEFRAME))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of the sizing border around the perimeter of a window that can be resized" count++ CONST SM_CXFIXEDFRAME=7 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Fixed Frame X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXFIXEDFRAME))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of the frame around the perimeter of a window that has a caption but is not sizable" count++ CONST SM_CYFIXEDFRAME=8 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Fixed Frame Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYFIXEDFRAME))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of the frame around the perimeter of a window that has a caption but is not sizable" count++ CONST SM_CXDLGFRAME=7 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Dialog Frame X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXDLGFRAME))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of the frame around the perimeter of a dialog that has a caption but is not sizable" count++ CONST SM_CYDLGFRAME=8 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Dialog Frame Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYDLGFRAME))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of the frame around the perimeter of a dialog that has a caption but is not sizable" count++ CONST SM_CXHSCROLL=21 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Horizontal Scroll Bar X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXHSCROLL))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of the arrow bitmap on a horizontal scroll bar" count++ CONST SM_CYHSCROLL=3 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Horizontal Scroll Bar Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYHSCROLL))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of a horizontal scroll bar" count++ CONST SM_CXHTHUMB=10 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Horizontal Thumb box X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXHTHUMB))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of the thumb box in a horizontal scroll bar" count++ CONST SM_CXVSCROLL=2 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Vertical Scroll Bar X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXVSCROLL))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of a vertical scroll bar" count++ CONST SM_CYVSCROLL=20 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Vertical Scroll Bar Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXVSCROLL))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of the arrow bitmap on a vertical scroll bar" count++ CONST SM_CYVTHUMB=9 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Vertical Thumb box Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYVTHUMB))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of the thumb box in a vertical scroll bar" count++ CONST SM_CXICON=11 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Icon X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXICON))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"The default width in pixels of an icon. The LoadIcon function can load only icons of these dimensions" count++ CONST SM_CYICON=12 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Icon Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYICON))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"The default height in pixels of an icon. The LoadIcon function can load only icons of these dimensions" count++ CONST SM_CXSMICON=49 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Small Icon X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXSMICON))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Recommended width in pixels of a small icon. Small icons typically appear in window captions and in small icon view" count++ CONST SM_CYSMICON=50 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Small Icon Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYSMICON))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Recommended height in pixels of a small icon. Small icons typically appear in window captions and in small icon view" count++ CONST SM_CXICONSPACING=38 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Icon Spacing X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXICONSPACING))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of a grid cell for items in large icon view. Each item fits into a rectangle of this size when arranged" count++ CONST SM_CYICONSPACING=39 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Icon Spacing Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYICONSPACING))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of a grid cell for items in large icon view. Each item fits into a rectangle of this size when arranged" count++ CONST SM_MENUDROPALIGNMENT=40 STRING Info_MenuDropAlignment$ if GetSystemMetrics(SM_MENUDROPALIGNMENT)>0 Info_MenuDropAlignment$="Right":'TRUE else Info_MenuDropAlignment$="Left":'FALSE ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Menu Drop Alignment" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_MenuDropAlignment$ CONTROLCMD win,1,@LVSETTEXT,count,2,"TRUE or non-zero if drop-down menus are right-aligned with the corresponding menu-bar item; FALSE or zero if the menus are left-aligned" count++ CONST SM_CYMENU=15 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Menu Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYMENU))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of a single-line menu bar" count++ CONST SM_CXMENUCHECK=71 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Menu Check-mark X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXMENUCHECK))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of the default menu check-mark bitmap" count++ CONST SM_CYMENUCHECK=72 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Menu Check-mark Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYMENUCHECK))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of the default menu check-mark bitmap" count++ CONST SM_CXMENUSIZE=54 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Menu Size X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXMENUSIZE))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of menu bar buttons, such as the child window close button used in the multiple document interface" count++ CONST SM_CYMENUSIZE=55 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Menu Size Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYMENUSIZE))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of menu bar buttons, such as the child window close button used in the multiple document interface" count++ CONST SM_CXMIN=28 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Window Minimum X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXMIN))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Minimum width in pixels of a window" count++ CONST SM_CYMIN=29 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Window Minimum Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYMIN))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Minimum height in pixels of a window" count++ CONST SM_CXMINIMIZED=57 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Window Minimized X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXMINIMIZED))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of a normal minimized window" count++ CONST SM_CYMINIMIZED=58 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Window Minimized Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYMINIMIZED))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of a normal minimized window" count++ CONST SM_CXMINSPACING=47 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Minimized Spacing X" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CXMINSPACING))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of a grid cell for minimized windows. Each minimized window fits into a rectangle this size when arranged" count++ CONST SM_CYMINSPACING=48 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Minimized Spacing Y" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_CYMINSPACING))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of a grid cell for minimized windows. Each minimized window fits into a rectangle this size when arranged" count++ CONST SM_ARRANGE=56 CONST ARW_BOTTOMLEFT=0x0 CONST ARW_BOTTOMRIGHT=0x1 CONST ARW_TOPLEFT=0x2 CONST ARW_TOPRIGHT=0x3 CONST ARW_HIDE=0x8 STRING Info_Arrange$ select GetSystemMetrics(SM_ARRANGE) CASE ARW_BOTTOMLEFT Info_Arrange$="Start at the lower-left corner of the screen (default position)" CASE ARW_BOTTOMRIGHT Info_Arrange$="Start at the lower-right corner of the screen" CASE ARW_HIDE Info_Arrange$="Hide minimized windows by moving them off the visible area of the screen" CASE ARW_TOPLEFT Info_Arrange$="Start at the upper-left corner of the screen" CASE ARW_TOPRIGHT Info_Arrange$="Start at the upper-right corner of the screen" endselect CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Arrange" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",GetSystemMetrics(SM_ARRANGE)) CONTROLCMD win,1,@LVSETTEXT,count,2,Info_Arrange$ count++ CONST SM_XVIRTUALSCREEN=76 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Virtual Screen Pos X" CONTROLCMD win,1,@LVSETTEXT,count,1,LTRIM$(STR$(GetSystemMetrics(SM_XVIRTUALSCREEN)))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Co-ordinates for the left side of the virtual screen. The virtual screen is the bounding rectangle of all display monitors" count++ CONST SM_YVIRTUALSCREEN=77 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Virtual Screen Pos Y" CONTROLCMD win,1,@LVSETTEXT,count,1,LTRIM$(STR$(GetSystemMetrics(SM_YVIRTUALSCREEN)))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Co-ordinates for the top of the virtual screen. The virtual screen is the bounding rectangle of all display monitors" count++ CONST SM_CXVIRTUALSCREEN=78 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Virtual Screen X" CONTROLCMD win,1,@LVSETTEXT,count,1,LTRIM$(STR$(GetSystemMetrics(SM_CXVIRTUALSCREEN)))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Width in pixels of the virtual screen. The virtual screen is the bounding rectangle of all display monitors" count++ CONST SM_CYVIRTUALSCREEN=79 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Virtual Screen Y" CONTROLCMD win,1,@LVSETTEXT,count,1,LTRIM$(STR$(GetSystemMetrics(SM_CYVIRTUALSCREEN)))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Height in pixels of the virtual screen. The virtual screen is the bounding rectangle of all display monitors" count++ CONST SM_CYKANJIWINDOW=18 CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Kanji Window Y" CONTROLCMD win,1,@LVSETTEXT,count,1,LTRIM$(STR$(GetSystemMetrics(SM_CYKANJIWINDOW)))+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"For double-byte character set versions of the system, this is the height in pixels of the Kanji window at the bottom of the screen" count++ CONST SM_DBCSENABLED=42 STRING DBCSEnabled$ if GetSystemMetrics(SM_DBCSENABLED)>0 DBCSEnabled$="TRUE" else DBCSEnabled$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - DBCS Enabled" CONTROLCMD win,1,@LVSETTEXT,count,1,DBCSEnabled$ CONTROLCMD win,1,@LVSETTEXT,count,2,"TRUE or non-zero if the double-byte character set (DBCS) version of USER.EXE is installed; FALSE or zero otherwise" count++ CONST SM_DEBUG=22 STRING Info_Debug$ if GetSystemMetrics(SM_DEBUG)>0 Info_Debug$="TRUE" else Info_Debug$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Debug Enabled" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_Debug$ CONTROLCMD win,1,@LVSETTEXT,count,2,"TRUE or non-zero if the debugging version of USER.EXE is installed; FALSE or zero otherwise" count++ CONST SM_MIDEASTENABLED=74 STRING MidEastEnabled$ if GetSystemMetrics(SM_MIDEASTENABLED)>0 MidEastEnabled$="TRUE" else MidEastEnabled$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Mid East Enabled" CONTROLCMD win,1,@LVSETTEXT,count,1,MidEastEnabled$ CONTROLCMD win,1,@LVSETTEXT,count,2,"TRUE if the system is enabled for Hebrew and Arabic languages" count++ CONST SM_NETWORK=63 STRING Info_Network$ if GetSystemMetrics(SM_NETWORK)&1=1 Info_Network$="TRUE" else Info_Network$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Network Present" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_Network$ CONTROLCMD win,1,@LVSETTEXT,count,2,"The least significant bit is set if a network is present; otherwise, it is cleared. The other bits are reserved for future use" count++ CONST SM_PENWINDOWS=41 STRING Info_PenWindows$ if GetSystemMetrics(SM_PENWINDOWS)>0 Info_PenWindows$="TRUE" else Info_PenWindows$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Pen Extensions" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_PenWindows$ CONTROLCMD win,1,@LVSETTEXT,count,2,"TRUE or non-zero if the Microsoft Windows for Pen computing extensions are installed; FALSE or zero otherwise" count++ CONST SM_SECURE=44 STRING Info_Secure$ if GetSystemMetrics(SM_SECURE)=1 Info_Secure$="TRUE" else Info_Secure$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Security Present" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_Secure$ CONTROLCMD win,1,@LVSETTEXT,count,2,"TRUE if security is present; FALSE otherwise" count++ CONST SM_SAMEDISPLAYFORMAT=81 STRING Info_SameDisplayFormat$ if GetSystemMetrics(SM_SAMEDISPLAYFORMAT)=1 Info_SameDisplayFormat$="TRUE" else Info_SameDisplayFormat$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Same Display Format" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SameDisplayFormat$ CONTROLCMD win,1,@LVSETTEXT,count,2,"TRUE if all the display monitors have the same colour format, FALSE otherwise. Note that two displays can have the same bit depth, but different colour formats. For example, the red, green and blue pixels can be encoded with different numbers of bits, or those bits can be located in different places in a pixel's colour value" count++ CONST SM_SHOWSOUNDS=70 STRING Info_ShowSounds$ if GetSystemMetrics(SM_SHOWSOUNDS)>0 Info_ShowSounds$="TRUE" else Info_ShowSounds$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Show Sounds" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_ShowSounds$ CONTROLCMD win,1,@LVSETTEXT,count,2,"TRUE or non-zero if the user requires an application to present information visually in situations where it would otherwise present the information only in audible form; FALSE, or zero otherwise" count++ CONST SM_SLOWMACHINE=73 STRING Info_SlowMachine$ if GetSystemMetrics(SM_SLOWMACHINE)=1 Info_SlowMachine$="TRUE" else Info_SlowMachine$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Metrics - Slow Machine" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SlowMachine$ CONTROLCMD win,1,@LVSETTEXT,count,2,"TRUE if the computer has a low-end (slow) processor; FALSE otherwise" count++ ENDSUB SUB Info_GetDesktopWindow CONTROLCMD win,1,@LVINSERTITEM,count,"Desktop - Handle" CONTROLCMD win,1,@LVSETTEXT,count,1,LTRIM$(STR$(GetDesktopWindow())) CONTROLCMD win,1,@LVSETTEXT,count,2,"The handle of the Windows Desktop window. The Desktop window covers the entire screen. The Desktop window is the area on top of which all icons and other windows are painted" count++ ENDSUB SUB Info_IsDebuggerPresent STRING Info_IsDebuggerPresent$ if IsDebuggerPresent()=0 Info_IsDebuggerPresent$="FALSE" else Info_IsDebuggerPresent$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"Debugger Present" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_IsDebuggerPresent$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether the calling process is running under the context of a debugger. This allows an application to determine whether or not it is being debugged, so that it can modify its behaviour. For example, an application could provide additional information using the OutputDebugString function if it is being debugged" count++ ENDSUB SUB Info_SystemParametersInfo CONST SPI_GETACCESSTIMEOUT=60 Info_ACCESSTIMEOUT.cbSize=LEN(Info_ACCESSTIMEOUT) SystemParametersInfoA(SPI_GETACCESSTIMEOUT,LEN(Info_ACCESSTIMEOUT),Info_ACCESSTIMEOUT,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Accessibility Time-out - Period" CONTROLCMD win,1,@LVSETTEXT,count,1,USING(",###",Info_ACCESSTIMEOUT.iTimeOutMSec)+"ms" CONTROLCMD win,1,@LVSETTEXT,count,2,"The accessibility time-out period is the length of time, in milliseconds, that must pass without keyboard and mouse input before the operating system automatically turns off accessibility features. The accessibility features affected by the time-out are the FilterKeys features (SlowKeys, BounceKeys and RepeatKeys), MouseKeys, ToggleKeys and StickyKeys. The accessibility time-out is designed for computers that are shared by several users so that options selected by one user do not inconvenience a subsequent user" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Accessibility Time-out - Flags" CONTROLCMD win,1,@LVSETTEXT,count,1,"0x0"+HEX$(Info_ACCESSTIMEOUT.dwFlags) CONTROLCMD win,1,@LVSETTEXT,count,2,"A set of bit flags that specify properties of the time-out behavior for accessibility features. ATF_ONOFFFEEDBACK=0x2 ATF_TIMEOUTON=0x1" count++ CONST SPI_GETACTIVEWINDOWTRACKING=0x1000 INT Info_Tracking STRING Info_Tracking$ SystemParametersInfoA(SPI_GETACTIVEWINDOWTRACKING,0,Info_Tracking,0) if Info_Tracking=0 Info_Tracking$= "FALSE" else Info_Tracking$= "TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Active Window Tracking" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_Tracking$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether active window tracking (activating the window the mouse is on) is on or off" count++ CONST SPI_GETACTIVEWNDTRKZORDER=0x100C INT Info_TrackingZ STRING Info_TrackingZ$ SystemParametersInfoA(SPI_GETACTIVEWNDTRKZORDER,0,Info_TrackingZ,0) if Info_TrackingZ=0 Info_TrackingZ$="FALSE" else Info_TrackingZ$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Active Window Tracking Z Order" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_TrackingZ$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether windows activated through active window tracking will be brought to the top" count++ CONST SPI_GETACTIVEWNDTRKTIMEOUT=0x2002 UINT Info_ActiveTrackTimeout SystemParametersInfoA(SPI_GETACTIVEWNDTRKTIMEOUT,0,Info_ActiveTrackTimeout,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Active Window Tracking Time-out" CONTROLCMD win,1,@LVSETTEXT,count,1,LTRIM$(STR$(Info_ActiveTrackTimeout))+"ms" CONTROLCMD win,1,@LVSETTEXT,count,2,"The active window tracking delay, in milliseconds" count++ CONST SPI_GETANIMATION=72 TYPE ANIMATIONINFO UINT cbSize INT iMinAnimate ENDTYPE ANIMATIONINFO Info_ANIMATIONINFO STRING Info_Animation$ Info_ANIMATIONINFO.cbSize=LEN(Info_ANIMATIONINFO) SystemParametersInfoA(SPI_GETANIMATION,LEN(Info_ANIMATIONINFO),Info_ANIMATIONINFO,0) if Info_ANIMATIONINFO.iMinAnimate=0 Info_Animation$="FALSE" else Info_Animation$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Minimize Animation" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_Animation$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates that minimize and restore animation is enabled (if the member is a non-zero value) or not enabled (if zero)" count++ CONST SPI_GETBEEP=1 INT Info_Beep STRING Info_beep$ SystemParametersInfoA(SPI_GETANIMATION,0,Info_Beep,0) if Info_Beep=0 Info_beep$="FALSE" else Info_beep$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Warning Beep" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_beep$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether the warning beeper is on" count++ CONST SPI_GETBORDER=5 INT Info_Border SystemParametersInfoA(SPI_GETBORDER,0,Info_Border,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Border Multiplier" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_Border) CONTROLCMD win,1,@LVSETTEXT,count,2,"The border multiplier factor that determines the width of a window's sizing border" count++ CONST SPI_GETCOMBOBOXANIMATION=0x1004 INT Info_ComboBoxAnimation STRING Info_ComboBoxAnimation$ SystemParametersInfoA(SPI_GETBORDER,0,Info_ComboBoxAnimation,0) if Info_ComboBoxAnimation=0 Info_ComboBoxAnimation$="FALSE" else Info_ComboBoxAnimation$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - ComboBox Animation" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_ComboBoxAnimation$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether the slide-open effect for combo boxes is enabled" count++ CONST SPI_GETDEFAULTINPUTLANG=89 INT Info_InputLanguage SystemParametersInfoA(SPI_GETDEFAULTINPUTLANG,0,Info_InputLanguage,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Default Input Language" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_InputLanguage) CONTROLCMD win,1,@LVSETTEXT,count,2,"The keyboard layout handle for the system default input language" count++ CONST SPI_GETDRAGFULLWINDOWS=38 INT Info_DragFullWindows STRING Info_DragFullWindows$ SystemParametersInfoA(SPI_GETDRAGFULLWINDOWS,0,Info_DragFullWindows,0) if Info_DragFullWindows=0 Info_DragFullWindows$="FALSE" else Info_DragFullWindows$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Drag Full Windows" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_DragFullWindows$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether dragging of full windows (show window contents while dragging) is enabled" count++ CONST SPI_GETFASTTASKSWITCH=35 INT Info_FastTaskSwitch STRING Info_FastTaskSwitch$ SystemParametersInfoA(SPI_GETFASTTASKSWITCH,0,Info_FastTaskSwitch,0) if Info_FastTaskSwitch=0 Info_FastTaskSwitch$= "FALSE" else Info_FastTaskSwitch$= "TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Fast Task Switching" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_FastTaskSwitch$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether ALT+TAB fast task switching is enabled" count++ CONST SPI_GETFILTERKEYS=50 TYPE FILTERKEYS UINT cbSize UINT dwFlags UINT iWaitMSec UINT iDelayMSec UINT iRepeatMSec UINT iBounceMSec ENDTYPE FILTERKEYS Info_FILTERKEYS Info_FILTERKEYS.cbSize=LEN(Info_FILTERKEYS) SystemParametersInfoA(SPI_GETFILTERKEYS,LEN(Info_FILTERKEYS),Info_FILTERKEYS,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - FilterKeys - Flags" CONTROLCMD win,1,@LVSETTEXT,count,1,"0x"+HEX$(Info_FILTERKEYS.dwFlags) CONTROLCMD win,1,@LVSETTEXT,count,2,"A set of bit flags that specify properties of the FilterKeys feature" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - FilterKeys - Wait Time" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_FILTERKEYS.iWaitMSec)+"ms" CONTROLCMD win,1,@LVSETTEXT,count,2,"The length of time, in milliseconds, that the user must hold down a key before it is accepted by the computer" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - FilterKeys - Repeat Time" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_FILTERKEYS.iDelayMSec)+"ms" CONTROLCMD win,1,@LVSETTEXT,count,2,"The length of time, in milliseconds, that the user must hold down a key before it begins to repeat" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - FilterKeys - Repeat Delay" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_FILTERKEYS.iRepeatMSec)+"ms" CONTROLCMD win,1,@LVSETTEXT,count,2,"The length of time, in milliseconds, between each repetition of the keystroke" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - FilterKeys - Bounce Time" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_FILTERKEYS.iBounceMSec)+"ms" CONTROLCMD win,1,@LVSETTEXT,count,2,"The amount of time, in milliseconds, that must elapse after releasing a key before the computer will accept a subsequent press of the same key" count++ CONST SPI_GETFONTSMOOTHING=74 INT Info_FontSmoothing STRING Info_FontSmoothing$ SystemParametersInfoA(SPI_GETFONTSMOOTHING,0,Info_FontSmoothing,0) if Info_FontSmoothing=0 Info_FontSmoothing$="FALSE" else Info_FontSmoothing$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Font Smoothing" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_FontSmoothing$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether the font smoothing feature is enabled. This feature uses font anti-aliasing to make font curves appear smoother by painting pixels at different gray levels" count++ CONST SPI_GETFOREGROUNDFLASHCOUNT=0x2004 UINT Info_ForegroundFlashCount SystemParametersInfoA(SPI_GETFOREGROUNDFLASHCOUNT,0,Info_ForegroundFlashCount,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Foreground Flash Count" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_ForegroundFlashCount) CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates the number of times the SetForegroundWindow API function will flash the taskbar button when rejecting a foreground switch request" count++ CONST SPI_GETFOREGROUNDLOCKTIMEOUT=0x2000 UINT Info_ForegroundLockTimeout SystemParametersInfoA(SPI_GETFOREGROUNDLOCKTIMEOUT,0,Info_ForegroundLockTimeout,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Foreground Lock Timeout" CONTROLCMD win,1,@LVSETTEXT,count,1,USING(",###",Info_ForegroundLockTimeout)+"ms" CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates the amount of time following user input, in milliseconds, during which the system will not allow applications to force themselves into the foreground" count++ CONST SPI_GETGRADIENTCAPTIONS=0x1008 INT Info_GradientCaptions STRING Info_GradientCaptions$ SystemParametersInfoA(SPI_GETGRADIENTCAPTIONS,0,Info_GradientCaptions,0) if Info_GradientCaptions=0 Info_GradientCaptions$="FALSE" else Info_GradientCaptions$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Gradient Captions" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_GradientCaptions$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether the gradient effect for window title bars is enabled" count++ CONST SPI_GETGRIDGRANULARITY=18 INT Info_GridGranularity SystemParametersInfoA(SPI_GETGRIDGRANULARITY,0,Info_GridGranularity,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Grid Granularity" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_GridGranularity) CONTROLCMD win,1,@LVSETTEXT,count,2,"The current granularity value of the Desktop sizing grid" count++ CONST SPI_GETICONMETRICS=45 TYPE ICONMETRICS INT cbSize INT iHorzSpacing INT iVertSpacing INT iTitleWrap DEF lfFont:LOGFONT '<--- Skipped this ENDTYPE ICONMETRICS Info_ICONMETRICS Info_ICONMETRICS.cbSize=LEN(Info_ICONMETRICS) SystemParametersInfoA(SPI_GETICONMETRICS,LEN(Info_ICONMETRICS),Info_ICONMETRICS,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Icon Metrics - Horizontal Spacing" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_ICONMETRICS.iHorzSpacing)+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Horizontal space in pixels for each arranged icon" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Icon Metrics - Vertical Spacing" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_ICONMETRICS.iVertSpacing)+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"Vertical space in pixels for each arranged icon" count++ STRING Info_TitleWrap$ if Info_ICONMETRICS.iTitleWrap=0 Info_TitleWrap$="FALSE" else Info_TitleWrap$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Icon Metrics - Title Wrap" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_TitleWrap$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates if the icon titles should wrap to a new line. If this member is non-zero, icon titles wrap to a new line. If this member is zero, titles do not wrap" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Icon Metrics - Font" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_ICONMETRICS.lfFont.lfFaceName CONTROLCMD win,1,@LVSETTEXT,count,2,"Icon Font name" count++ CONST SPI_GETKEYBOARDDELAY=22 INT Info_KeyboardDelay SystemParametersInfoA(SPI_GETKEYBOARDDELAY,0,Info_KeyboardDelay,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Keyboard Delay" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_KeyboardDelay) CONTROLCMD win,1,@LVSETTEXT,count,2,"The keyboard repeat-delay setting, which is a value in the range from 0 (approximately 250 ms delay) through 3 (approximately 1 second delay). The actual delay associated with each value may vary depending on the hardware" count++ CONST SPI_GETKEYBOARDPREF=68 INT info_KeyboardPreferred STRING Info_KeyboardPreferred$ SystemParametersInfoA(SPI_GETKEYBOARDPREF,0,Info_KeyboardPreferred,0) if Info_KeyboardPreferred=0 Info_KeyboardPreferred$="FALSE" else Info_KeyboardPreferred$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Keyboard Preferred" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_KeyboardPreferred$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether the user relies on the keyboard instead of the mouse, and wants applications to display keyboard interfaces that would otherwise be hidden. TRUE if the user relies on the keyboard; or FALSE otherwise" count++ CONST SPI_GETKEYBOARDSPEED=10 UINT Info_KeyboardSpeed SystemParametersInfoA(SPI_GETKEYBOARDSPEED,0,Info_KeyboardSpeed,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Keyboard Speed" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_KeyboardSpeed) CONTROLCMD win,1,@LVSETTEXT,count,2,"The keyboard repeat-speed setting, which is a value in the range from 0 (approximately 30 repetitions per second) through 31 (approximately 2.5 repetitions per second). The actual repeat rates are hardware-dependent and may vary from a linear scale by as much as 20%" count++ CONST SPI_GETLISTBOXSMOOTHSCROLLING=0x1006 INT Info_ListboxSmoothScrolling STRING Info_ListboxSmoothScrolling$ SystemParametersInfoA(SPI_GETLISTBOXSMOOTHSCROLLING,0,Info_ListboxSmoothScrolling,0) if Info_ListboxSmoothScrolling=0 Info_ListboxSmoothScrolling$="FALSE" else Info_ListboxSmoothScrolling$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Listbox Smooth Scrolling" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_ListboxSmoothScrolling$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether the smooth-scrolling effect for list boxes is enabled. TRUE for enabled, or FALSE for disabled" count++ CONST SPI_GETSCREENSAVEACTIVE=16 INT Info_ScreenSaveActive STRING Info_ScreenSaveActive$ SystemParametersInfoA(SPI_GETSCREENSAVEACTIVE,0,Info_ScreenSaveActive,0) if Info_ScreenSaveActive=0 Info_ScreenSaveActive$="FALSE" else Info_ScreenSaveActive$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Screen Saver - Active" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_ScreenSaveActive$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether screen saving is enabled. TRUE if screen saving is enabled, or FALSE otherwise" count++ CONST SPI_GETSCREENSAVETIMEOUT=14 INT Info_ScreenSaveTimeout SystemParametersInfoA(SPI_GETSCREENSAVETIMEOUT,0,Info_ScreenSaveTimeout,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Screen Saver - Screen Saver Time-out" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_ScreenSaveTimeout)+" seconds" CONTROLCMD win,1,@LVSETTEXT,count,2,"The screen saver time-out value, in seconds" count++ CONST SPI_GETSCREENSAVERRUNNING=114 INT Info_ScreenSaveRunning STRING Info_ScreenSaveRunning$ SystemParametersInfoA(SPI_GETSCREENSAVERRUNNING,0,Info_ScreenSaveRunning,0) if Info_ScreenSaveRunning=0 Info_ScreenSaveRunning$= "FALSE" else Info_ScreenSaveRunning$= "TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Screen Saver - Running" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_ScreenSaveRunning$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether a screen saver is currently running on the window station of the calling process. TRUE if a screen saver is currently running, or FALSE otherwise. Note that only the interactive window station,'WinSta0', can have a screen saver running" count++ CONST SPI_GETLOWPOWERACTIVE=83 INT Info_LowPowerActive STRING Info_LowPowerActive$ SystemParametersInfoA(SPI_GETLOWPOWERACTIVE,0,Info_LowPowerActive,0) if Info_LowPowerActive=0 Info_LowPowerActive$="FALSE" else Info_LowPowerActive$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Screen Saver - Low Power Active" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_LowPowerActive$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether the low-power phase of screen saving is enabled. TRUE if enabled, or FALSE if disabled" count++ CONST SPI_GETLOWPOWERTIMEOUT=79 INT Info_LowPowerTimeout SystemParametersInfoA(SPI_GETLOWPOWERTIMEOUT,0,Info_LowPowerTimeout,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Screen Saver - Low Power Time-out" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_LowPowerTimeout)+" seconds" CONTROLCMD win,1,@LVSETTEXT,count,2,"The time-out value for the low-power phase of screen saving" count++ CONST SPI_GETPOWEROFFACTIVE=84 INT Info_PowerOffActive STRING Info_PowerOffActive$ SystemParametersInfoA(SPI_GETPOWEROFFACTIVE,0,Info_PowerOffActive,0) if Info_PowerOffActive=0 Info_PowerOffActive$="FALSE" else Info_PowerOffActive$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Screen Saver - Power Off Active" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_PowerOffActive$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether the power-off phase of screen saving is enabled. TRUE if enabled, or FALSE if disabled" count++ CONST SPI_GETPOWEROFFTIMEOUT=80 INT Info_PowerOffTimeout SystemParametersInfoA(SPI_GETPOWEROFFTIMEOUT,0,Info_PowerOffTimeout,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Screen Saver - Power Off Time-out" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_PowerOffTimeout)+" seconds" CONTROLCMD win,1,@LVSETTEXT,count,2,"The time-out value for the power-off phase of screen saving" count++ CONST SPI_GETMENUDROPALIGNMENT=27 INT Info_MenuDropAlignment STRING Info_MenuDropAlignment$ SystemParametersInfoA(SPI_GETMENUDROPALIGNMENT,0,Info_MenuDropAlignment,0) if Info_LowPowerActive=0 Info_MenuDropAlignment$="Right" else Info_MenuDropAlignment$="Left" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Menu Drop Alignment" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_MenuDropAlignment$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether pop-up menus are left-aligned or right-aligned, relative to the corresponding menu-bar item. TRUE if left-aligned, or FALSE otherwise" count++ CONST SPI_GETMOUSE=3 INT Info_Mouse[3] SystemParametersInfoA(SPI_GETMOUSE,0,Info_Mouse,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Mouse - X Threshold" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_Mouse[0]) CONTROLCMD win,1,@LVSETTEXT,count,2,"Values are used when the mouse_event API function is called using relative co-ordinates" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Mouse - Y Threshold" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_Mouse[1]) CONTROLCMD win,1,@LVSETTEXT,count,2,"Values are used when the mouse_event API function is called using relative co-ordinates" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Mouse - Acceleration" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_Mouse[2]) CONTROLCMD win,1,@LVSETTEXT,count,2,"Values are used when the mouse_event API function is called using relative co-ordinates" count++ CONST SPI_GETMOUSEHOVERWIDTH=98 UINT Info_MouseHoverWidth SystemParametersInfoA(SPI_GETMOUSEHOVERWIDTH,0,Info_MouseHoverWidth,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Mouse - Hover Width" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_MouseHoverWidth)+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"The width in pixels of the rectangle within which the mouse pointer has to stay forTrackMouseEvent to generate a WM_MOUSEHOVER message" count++ CONST SPI_GETMOUSEHOVERHEIGHT=100 UINT Info_MouseHoverHeight SystemParametersInfoA(SPI_GETMOUSEHOVERHEIGHT,0,Info_MouseHoverHeight,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Mouse - Hover Height" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_MouseHoverHeight)+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"The height in pixels of the rectangle within which the mouse pointer has to stay forTrackMouseEvent to generate a WM_MOUSEHOVER message" count++ CONST SPI_GETMOUSEHOVERTIME=102 UINT Info_MouseHoverTime SystemParametersInfoA(SPI_GETMOUSEHOVERTIME,0,Info_MouseHoverTime,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Mouse - Hover Time" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_MouseHoverTime)+"ms" CONTROLCMD win,1,@LVSETTEXT,count,2,"The time in milliseconds that the mouse pointer has to stay in the hover rectangle for TrackMouseEvent to generate a WM_MOUSEHOVER message" count++ CONST SPI_GETMOUSESPEED=112 INT Info_MouseSpeed SystemParametersInfoA(SPI_GETMOUSESPEED,0,Info_MouseSpeed,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Mouse - Speed" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_MouseSpeed) CONTROLCMD win,1,@LVSETTEXT,count,2,"The current mouse speed. The mouse speed determines how far the pointer will move based on the distance the mouse moves. The value ranges between 1 (slowest) and 20 (fastest). A value of 10 is the default" count++ CONST SPI_GETMOUSETRAILS=94 INT Info_MouseTrails SystemParametersInfoA(SPI_GETMOUSETRAILS,0,Info_MouseTrails,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Mouse - Trails" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_MouseTrails) CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether the Mouse Trails feature is enabled. If the value is zero or 1, the feature is disabled. If the value is greater than 1, the feature is enabled and the value indicates the number of cursors drawn in the trail" count++ CONST SPI_GETWHEELSCROLLLINES=104 UINT Info_WheelScrollLines SystemParametersInfoA(SPI_GETWHEELSCROLLLINES,0,Info_WheelScrollLines,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Mouse - Wheel Scroll Lines" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_WheelScrollLines) CONTROLCMD win,1,@LVSETTEXT,count,2,"The number of lines to scroll when the mouse wheel is rotated. The default value is 3" count++ CONST SPI_GETMOUSEKEYS=54 TYPE MOUSEKEYS UINT cbSize UINT dwFlags UINT iMaxSpeed UINT iTimeToMaxSpeed UINT iCtrlSpeed UINT dwReserved1 UINT dwReserved2 ENDTYPE MOUSEKEYS Info_MOUSEKEYS Info_MOUSEKEYS.cbSize=LEN(Info_MOUSEKEYS) SystemParametersInfoA(SPI_GETMOUSEKEYS,LEN(Info_MOUSEKEYS),Info_MOUSEKEYS,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - MouseKeys - Flags" CONTROLCMD win,1,@LVSETTEXT,count,1,"0x"+HEX$(Info_MOUSEKEYS.dwFlags) CONTROLCMD win,1,@LVSETTEXT,count,2,"A set of bit-flags that specify properties of the MouseKeys feature" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - MouseKeys - Max Speed" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_MOUSEKEYS.iMaxSpeed) CONTROLCMD win,1,@LVSETTEXT,count,2,"The maximum speed the mouse cursor attains when an arrow key is held down. Valid values are from 10 to 360" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - MouseKeys - Time to Max Speed" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_MOUSEKEYS.iTimeToMaxSpeed)+"ms" CONTROLCMD win,1,@LVSETTEXT,count,2,"The length of time in milliseconds that it takes for the mouse cursor to reach maximum speed when an arrow key is held down. Valid values are from 1000 to 5000" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - MouseKeys - Ctrl Speed" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_MOUSEKEYS.iCtrlSpeed) CONTROLCMD win,1,@LVSETTEXT,count,2,"The multiplier to apply to the mouse cursor speed when the user holds down the ctrl key while using the arrow keys to move the cursor. This value is ignored if MKF_MODIFIERS is not set" count++ CONST SPI_GETNONCLIENTMETRICS=41 TYPE NONCLIENTMETRICS INT cbSize INT iBorderWidth INT iScrollWidth INT iScrollHeight INT iCaptionWidth INT iCaptionHeight DEF lfCaptionFont:LOGFONT '<--- Skipped this INT iSMCaptionWidth INT iSMCaptionHeight DEF lfSMCaptionFont:LOGFONT '<--- Skipped this INT iMenuWidth INT iMenuHeight DEF lfMenuFont:LOGFONT '<--- Skipped this DEF lfStatusFont:LOGFONT '<--- Skipped this DEF lfMessageFont:LOGFONT '<--- Skipped this ENDTYPE NONCLIENTMETRICS Info_NONCLIENTMETRICS Info_NONCLIENTMETRICS.cbSize=LEN(Info_NONCLIENTMETRICS) SystemParametersInfoA(SPI_GETNONCLIENTMETRICS,LEN(Info_NONCLIENTMETRICS),Info_NONCLIENTMETRICS,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Nonclient Metrics - Border Width" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_NONCLIENTMETRICS.iBorderWidth)+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"The thickness in pixels of the sizing border" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Nonclient Metrics - VScrollbar Width" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_NONCLIENTMETRICS.iScrollWidth)+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"The width in pixels of a standard vertical scroll bar" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Nonclient Metrics - HScrollbar Height" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_NONCLIENTMETRICS.iScrollHeight)+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"The height in pixels of a standard horizontal scroll bar" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Nonclient Metrics - Caption Button Width" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_NONCLIENTMETRICS.iCaptionWidth)+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"The width in pixels of caption buttons" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Nonclient Metrics - Caption Button Height" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_NONCLIENTMETRICS.iCaptionHeight)+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"The height in pixels of caption buttons" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Nonclient Metrics - Caption Font" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_NONCLIENTMETRICS.lfCaptionFont.lfFaceName CONTROLCMD win,1,@LVSETTEXT,count,2,"Windows caption font" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Nonclient Metrics - Small Caption Button Width" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_NONCLIENTMETRICS.iSMCaptionWidth)+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"The width in pixels of small caption buttons" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Nonclient Metrics - Small Caption Button Height" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_NONCLIENTMETRICS.iSMCaptionHeight)+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"The height in pixels of small caption buttons" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Nonclient Metrics - Small Caption Font" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_NONCLIENTMETRICS.lfSMCaptionFont.lfFaceName CONTROLCMD win,1,@LVSETTEXT,count,2,"Windows small caption font" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Nonclient Metrics - Menu Width" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_NONCLIENTMETRICS.iMenuWidth)+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"The width in pixels of menu-bar buttons" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Nonclient Metrics - Menu Height" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_NONCLIENTMETRICS.iMenuHeight)+"px" CONTROLCMD win,1,@LVSETTEXT,count,2,"The height in pixels of menu-bar buttons" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Nonclient Metrics - Menu Font" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_NONCLIENTMETRICS.lfMenuFont.lfFaceName CONTROLCMD win,1,@LVSETTEXT,count,2,"Windows menu font" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Nonclient Metrics - Status Font" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_NONCLIENTMETRICS.lfStatusFont.lfFaceName CONTROLCMD win,1,@LVSETTEXT,count,2,"Windows status font" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Nonclient Metrics - Message Font" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_NONCLIENTMETRICS.lfMessageFont.lfFaceName CONTROLCMD win,1,@LVSETTEXT,count,2,"Windows message font" count++ CONST SPI_GETSCREENREADER=70 INT Info_ScreenReader STRING Info_ScreenReader$ SystemParametersInfoA(SPI_GETSCREENREADER,0,Info_ScreenReader,0) if Info_ScreenReader=0 Info_ScreenReader$="FALSE" else Info_ScreenReader$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Screen Reader" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_ScreenReader$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether a screen reviewer utility is running. A screen reviewer utility directs textual information to an output device, such as a speech synthesizer or Braille display. When this flag is set, an application should provide textual information in situations where it would otherwise present the information graphically. TRUE if a screen reviewer utility is running, or FALSE otherwise" count++ CONST SPI_GETSHOWSOUNDS=56 INT Info_ShowSounds STRING Info_ShowSounds$ SystemParametersInfoA(SPI_GETSHOWSOUNDS,0,Info_ShowSounds,0) if Info_ShowSounds=0 Info_ShowSounds$="FALSE" else Info_ShowSounds$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Show Sounds" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_ShowSounds$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether the Show Sounds accessibility flag is on or off. If it is on, the user requires an application to present information visually in situations where it would otherwise present the information only in audible form. TRUE if the feature is on, or FALSE if it is off" count++ CONST SPI_GETSNAPTODEFBUTTON=95 INT Info_SnapToDefButton STRING Info_SnapToDefButton$ SystemParametersInfoA(SPI_GETSNAPTODEFBUTTON,0,Info_SnapToDefButton,0) if Info_SnapToDefButton=0 Info_SnapToDefButton$="FALSE" else Info_SnapToDefButton$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Snap to Default Button" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_SnapToDefButton$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates whether the snap-to-default-button feature is enabled. If enabled, the mouse cursor automatically moves to the default button, such as 'OK' or 'Apply', of a dialog box. TRUE if the feature is on, or FALSE if it is off" count++ CONST SPI_GETSTICKYKEYS=58 TYPE STICKYKEYS UINT cbSize UINT dwFlags ENDTYPE STICKYKEYS Info_STICKYKEYS Info_STICKYKEYS.cbSize=LEN(Info_STICKYKEYS) SystemParametersInfoA(SPI_GETSTICKYKEYS,LEN(Info_STICKYKEYS),Info_STICKYKEYS,0) CONST SKF_STICKYKEYSON=0x1 STRING Info_StickyKeysOn$ if (Info_STICKYKEYS.dwFlags & SKF_STICKYKEYSON)=SKF_STICKYKEYSON Info_StickyKeysOn$="TRUE" else Info_StickyKeysOn$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - StickyKeys - On" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_StickyKeysOn$ CONTROLCMD win,1,@LVSETTEXT,count,2,"If this flag is TRUE, the StickyKeys feature is on" count++ CONST SKF_AVAILABLE=0x2 STRING Info_StickyKeysAvailable$ if (Info_STICKYKEYS.dwFlags & SKF_AVAILABLE)=SKF_AVAILABLE Info_StickyKeysAvailable$="TRUE" else Info_StickyKeysAvailable$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - StickyKeys - Available" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_StickyKeysAvailable$ CONTROLCMD win,1,@LVSETTEXT,count,2,"If this flag is TRUE, the StickyKeys feature is available" count++ CONST SKF_HOTKEYACTIVE=0x4 STRING StickyKeysHotkeyActive$ if (Info_STICKYKEYS.dwFlags & SKF_HOTKEYACTIVE)=SKF_HOTKEYACTIVE StickyKeysHotkeyActive$="TRUE" else StickyKeysHotkeyActive$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - StickyKeys - Hotkey Active" CONTROLCMD win,1,@LVSETTEXT,count,1,StickyKeysHotkeyActive$ CONTROLCMD win,1,@LVSETTEXT,count,2,"If this flag is TRUE, the user can turn the StickyKeys feature on and off by pressing the shift key five times" count++ CONST SKF_CONFIRMHOTKEY=0x8 STRING Info_StickyKeysConfirmHotkey$ if (Info_STICKYKEYS.dwFlags & SKF_CONFIRMHOTKEY)=SKF_CONFIRMHOTKEY Info_StickyKeysConfirmHotkey$="TRUE" else Info_StickyKeysConfirmHotkey$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - StickyKeys - Confirm Hotkey" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_StickyKeysConfirmHotkey$ CONTROLCMD win,1,@LVSETTEXT,count,2,"If this flag is TRUE, a confirmation dialog appears when the StickyKeys feature is activated by using the hot key" count++ CONST SKF_HOTKEYSOUND=0x10 STRING Info_StickyKeysHotkeySound$ if (Info_STICKYKEYS.dwFlags & SKF_HOTKEYSOUND)=SKF_HOTKEYSOUND Info_StickyKeysHotkeySound$="TRUE" else Info_StickyKeysHotkeySound$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - StickyKeys - Hotkey Sound" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_StickyKeysHotkeySound$ CONTROLCMD win,1,@LVSETTEXT,count,2,"If this flag is TRUE, the system plays a siren sound when the user turns the StickyKeys feature on or off by using the hot key" count++ CONST SKF_INDICATOR=0x20 STRING Info_StickyKeysIndicator$ if (Info_STICKYKEYS.dwFlags & SKF_INDICATOR)=SKF_INDICATOR Info_StickyKeysIndicator$="TRUE" else Info_StickyKeysIndicator$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - StickyKeys - Indicator" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_StickyKeysIndicator$ CONTROLCMD win,1,@LVSETTEXT,count,2,"If this flag is TRUE, a visual indicator will be displayed when the StickyKeys feature is on" count++ CONST SKF_AUDIBLEFEEDBACK=0x40 STRING Info_StickyKeysAudibleFeedback$ if (Info_STICKYKEYS.dwFlags & SKF_AUDIBLEFEEDBACK)=SKF_AUDIBLEFEEDBACK Info_StickyKeysAudibleFeedback$="TRUE" else Info_StickyKeysAudibleFeedback$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - StickyKeys - Audible Feedback" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_StickyKeysAudibleFeedback$ CONTROLCMD win,1,@LVSETTEXT,count,2,"If this flag is TRUE, the system plays a sound when the user latches,locks, or releases modifier keys using the StickyKeys feature" count++ CONST SKF_TRISTATE=0x80 STRING Info_StickyKeysTriState$ if (Info_STICKYKEYS.dwFlags & SKF_TRISTATE)=SKF_TRISTATE Info_StickyKeysTriState$="TRUE" else Info_StickyKeysTriState$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - StickyKeys - TriState" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_StickyKeysTriState$ CONTROLCMD win,1,@LVSETTEXT,count,2,"If this flag is TRUE, pressing a modifier key twice in a row locks down the key until the user presses it a third time" count++ CONST SKF_TWOKEYSOFF=0x100 STRING Info_StickyKey$ if (Info_STICKYKEYS.dwFlags & SKF_TWOKEYSOFF)=SKF_TWOKEYSOFF Info_StickyKey$="TRUE" else Info_StickyKey$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - StickyKeys - Two Keys Off" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_StickyKey$ CONTROLCMD win,1,@LVSETTEXT,count,2,"If this flag is TRUE, releasing a modifier key that has been pressed in combination with any other key turns off the StickyKeys feature" count++ CONST SPI_GETTOGGLEKEYS=52 TYPE TOGGLEKEYS UINT cbSize UINT dwFlags ENDTYPE TOGGLEKEYS Info_TOGGLEKEYS Info_TOGGLEKEYS.cbSize=LEN(Info_TOGGLEKEYS) SystemParametersInfoA(SPI_GETTOGGLEKEYS,LEN(Info_TOGGLEKEYS),Info_TOGGLEKEYS,0) CONST TKF_TOGGLEKEYSON=0x1 STRING Info_ToggleKeysOn$ if (Info_TOGGLEKEYS.dwFlags & TKF_TOGGLEKEYSON)=TKF_TOGGLEKEYSON Info_ToggleKeysOn$="TRUE" else Info_ToggleKeysOn$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - ToggleKeys - On" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_ToggleKeysOn$ CONTROLCMD win,1,@LVSETTEXT,count,2,"If this flag is TRUE, the ToggleKeys feature is on" count++ CONST TKF_AVAILABLE=0x2 STRING Info_ToggleKeysAvailable$ if (Info_TOGGLEKEYS.dwFlags & TKF_AVAILABLE)=TKF_AVAILABLE Info_ToggleKeysAvailable$="TRUE" else Info_ToggleKeysAvailable$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - ToggleKeys - Available" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_ToggleKeysAvailable$ CONTROLCMD win,1,@LVSETTEXT,count,2,"If this flag is TRUE, the ToggleKeys feature is available" count++ CONST TKF_HOTKEYACTIVE=0x4 STRING Info_ToggleKeysHotkeyActive$ if (Info_TOGGLEKEYS.dwFlags & TKF_HOTKEYACTIVE)=TKF_HOTKEYACTIVE Info_ToggleKeysHotkeyActive$="TRUE" else Info_ToggleKeysHotkeyActive$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - ToggleKeys - Hotkey Active" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_ToggleKeysHotkeyActive$ CONTROLCMD win,1,@LVSETTEXT,count,2,"If this flag is TRUE, the user can turn the ToggleKeys feature on and off by holding down the num lock key for eight seconds" count++ CONST TKF_CONFIRMHOTKEY=0x8 STRING Info_ToggleKeysConfirmHotkey$ if (Info_TOGGLEKEYS.dwFlags & TKF_CONFIRMHOTKEY)=TKF_CONFIRMHOTKEY Info_ToggleKeysConfirmHotkey$="TRUE" else Info_ToggleKeysConfirmHotkey$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - ToggleKeys - Confirm Hotkey" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_ToggleKeysConfirmHotkey$ CONTROLCMD win,1,@LVSETTEXT,count,2,"If this flag is TRUE, a confirmation dialog box appears when the ToggleKeys feature is activated by using the hot key" count++ CONST TKF_HOTKEYSOUND=0x10 STRING Info_ToggleKeysHotkeySound$ if (Info_TOGGLEKEYS.dwFlags & TKF_HOTKEYSOUND)=TKF_HOTKEYSOUND Info_ToggleKeysHotkeySound$="TRUE" else Info_ToggleKeysHotkeySound$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - ToggleKeys - Hotkey Sound" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_ToggleKeysHotkeySound$ CONTROLCMD win,1,@LVSETTEXT,count,2,"If this flag is TRUE, the system plays a siren sound when the user turns the ToggleKeys feature on or off by using the hot key" count++ CONST TKF_INDICATOR=0x20 STRING Info_ToggleKeysIndicator$ if (Info_TOGGLEKEYS.dwFlags & TKF_INDICATOR)=TKF_INDICATOR Info_ToggleKeysIndicator$="TRUE" else Info_ToggleKeysIndicator$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - ToggleKeys - Indicator" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_ToggleKeysIndicator$ CONTROLCMD win,1,@LVSETTEXT,count,2,"If this flag is TRUE, a visual indicator will be displayed when the ToggleKeys feature is on" count++ CONST SPI_GETWORKAREA=48 WINRECT Info_RECT SystemParametersInfoA(SPI_GETWORKAREA,0,Info_RECT,0) CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Work Area - Left" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_RECT.left) CONTROLCMD win,1,@LVSETTEXT,count,2,"The left co-ordinate of the work area, expressed in virtual screen co-ordinates. The work area is the portion of the screen not obscured by the system taskbar or by application Desktop toolbars" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Work Area - Top" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_RECT.top) CONTROLCMD win,1,@LVSETTEXT,count,2,"The top co-ordinate of the work area, expressed in virtual screen co-ordinates. The work area is the portion of the screen not obscured by the system taskbar or by application Desktop toolbars" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Work Area - Right" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_RECT.right) CONTROLCMD win,1,@LVSETTEXT,count,2,"The right co-ordinate of the work area, expressed in virtual screen co-ordinates. The work area is the portion of the screen not obscured by the system taskbar or by application Desktop toolbars" count++ CONTROLCMD win,1,@LVINSERTITEM,count,"System Parameters Info - Work Area - Bottom" CONTROLCMD win,1,@LVSETTEXT,count,1,USING("#",Info_RECT.bottom) CONTROLCMD win,1,@LVSETTEXT,count,2,"The bottom co-ordinate of the work area, expressed in virtual screen co-ordinates. The work area is the portion of the screen not obscured by the system taskbar or by application Desktop toolbars" count++ ENDSUB SUB Info_IsSystemResumeAutomatic STRING Info_IsSystemResumeAutomatic$ if IsSystemResumeAutomatic()<>0 Info_IsSystemResumeAutomatic$="TRUE" else Info_IsSystemResumeAutomatic$="FALSE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"Is System Resume Automatic" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_IsSystemResumeAutomatic$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Indicates the current state of the computer. If the system was restored to the working state automatically and the user is not active, the function returns TRUE. Otherwise, the function returns FALSE. The PBT_APMRESUMEAUTOMATIC message is sent when the system wakes automatically to handle an event. The user is generally not present. If the system detects any user activity after sending the PBT_APMRESUMEAUTOMATIC message, it will send the PBT_APMRESUMESUSPEND message to let applications know they can resume full interaction with the user" count++ ENDSUB SUB Info_IsProcessorFeaturePresent STRING Info_IsProcessorFeaturePresent$ CONST PF_FLOATING_POINT_PRECISION_ERRATA=0 if IsProcessorFeaturePresent(PF_FLOATING_POINT_PRECISION_ERRATA)=0 Info_IsProcessorFeaturePresent$="FALSE" else Info_IsProcessorFeaturePresent$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"Is Processor Feature Present - FLOATING_POINT_PRECISION_ERRATA" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_IsProcessorFeaturePresent$ CONTROLCMD win,1,@LVSETTEXT,count,2,"In rare circumstances, a floating-point precision error can occur (Pentium)" count++ CONST PF_FLOATING_POINT_EMULATED=1 if IsProcessorFeaturePresent(PF_FLOATING_POINT_EMULATED)=0 Info_IsProcessorFeaturePresent$="FALSE" else Info_IsProcessorFeaturePresent$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"Is Processor Feature Present - FLOATING_POINT_EMULATED" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_IsProcessorFeaturePresent$ CONTROLCMD win,1,@LVSETTEXT,count,2,"Floating-point operations are emulated using a software emulator" count++ CONST PF_COMPARE_EXCHANGE_DOUBLE=2 if IsProcessorFeaturePresent(PF_COMPARE_EXCHANGE_DOUBLE)=0 Info_IsProcessorFeaturePresent$="FALSE" else Info_IsProcessorFeaturePresent$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"Is Processor Feature Present - COMPARE_EXCHANGE_DOUBLE" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_IsProcessorFeaturePresent$ CONTROLCMD win,1,@LVSETTEXT,count,2,"The compare and exchange double operation is available (Pentium, MIPS and Alpha)" count++ CONST PF_MMX_INSTRUCTIONS_AVAILABLE=3 if IsProcessorFeaturePresent(PF_MMX_INSTRUCTIONS_AVAILABLE)=0 Info_IsProcessorFeaturePresent$="FALSE" else Info_IsProcessorFeaturePresent$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"Is Processor Feature Present - MMX_INSTRUCTIONS_AVAILABLE" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_IsProcessorFeaturePresent$ CONTROLCMD win,1,@LVSETTEXT,count,2,"The MMX instruction set is available" count++ CONST PF_PPC_MOVEMEM_64BIT_OK=4 if IsProcessorFeaturePresent(PF_PPC_MOVEMEM_64BIT_OK)=0 Info_IsProcessorFeaturePresent$="FALSE" else Info_IsProcessorFeaturePresent$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"Is Processor Feature Present - PPC_MOVEMEM_64BIT_OK" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_IsProcessorFeaturePresent$ CONTROLCMD win,1,@LVSETTEXT,count,2,"" count++ CONST PF_ALPHA_BYTE_INSTRUCTIONS=5 if IsProcessorFeaturePresent(PF_ALPHA_BYTE_INSTRUCTIONS)=0 Info_IsProcessorFeaturePresent$="FALSE" else Info_IsProcessorFeaturePresent$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"Is Processor Feature Present - ALPHA_BYTE_INSTRUCTIONS" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_IsProcessorFeaturePresent$ CONTROLCMD win,1,@LVSETTEXT,count,2,"The Alpha byte load and byte store instructions are available" count++ CONST PF_XMMI_INSTRUCTIONS_AVAILABLE=6 if IsProcessorFeaturePresent(PF_XMMI_INSTRUCTIONS_AVAILABLE)=0 Info_IsProcessorFeaturePresent$="FALSE" else Info_IsProcessorFeaturePresent$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"Is Processor Feature Present - XMMI_INSTRUCTIONS_AVAILABLE" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_IsProcessorFeaturePresent$ CONTROLCMD win,1,@LVSETTEXT,count,2,"The XMMI instruction set is available" count++ CONST PF_3DNOW_INSTRUCTIONS_AVAILABLE=7 if IsProcessorFeaturePresent(PF_3DNOW_INSTRUCTIONS_AVAILABLE)=0 Info_IsProcessorFeaturePresent$="FALSE" else Info_IsProcessorFeaturePresent$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"Is Processor Feature Present - 3DNOW_INSTRUCTIONS_AVAILABLE" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_IsProcessorFeaturePresent$ CONTROLCMD win,1,@LVSETTEXT,count,2,"The 3DNOW instruction set is available" count++ CONST PF_RDTSC_INSTRUCTION_AVAILABLE=8 if IsProcessorFeaturePresent(PF_RDTSC_INSTRUCTION_AVAILABLE)=0 Info_IsProcessorFeaturePresent$="FALSE" else Info_IsProcessorFeaturePresent$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"Is Processor Feature Present - RDTSC_INSTRUCTION_AVAILABLE" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_IsProcessorFeaturePresent$ CONTROLCMD win,1,@LVSETTEXT,count,2,"The RDTSC instruction set is available" count++ CONST PF_PAE_ENABLED=9 if IsProcessorFeaturePresent(PF_PAE_ENABLED)=0 Info_IsProcessorFeaturePresent$="FALSE" else Info_IsProcessorFeaturePresent$="TRUE" ENDIF CONTROLCMD win,1,@LVINSERTITEM,count,"Is Processor Feature Present - PAE_ENABLED" CONTROLCMD win,1,@LVSETTEXT,count,1,Info_IsProcessorFeaturePresent$ CONTROLCMD win,1,@LVSETTEXT,count,2,"The processor is PAE enabled" ENDSUB