;--------------- ; sysinfo v2.0 ; by nixor ; www.xoniq.org - www.eScripting.org ;--------------- on *:load:{ set %_com_l ( set %_com_r ) if ($version < 6.16) { echo -a : $_leng(load,1) .unload -rs $+(",$script,") return } echo -a : sysinfo v2.0 $_leng(load,3) /comopt } on *:unload:{ unset %_com_l %_com_r echo -a : $_leng(load,2) } ;options dialog alias comopt dialog $iif($dialog(comopt),-v,-m) comopt comopt dialog comopt { title "" size -1 -1 88 40 option dbu box "", 1, 0 0 87 25 button "", 2, 49 27 37 12, ok text "", 3, 2 11 22 8 edit "", 4, 25 10 24 10, autohs text "OS", 5, 51 11 9 8 edit "", 6, 61 10 24 10, autohs } on *:dialog:comopt:*:*:{ if ($devent = init) { dialog -t comopt $_leng(comopt,1) [/comopt] did -ra comopt 1 $_leng(comopt,2) did -ra comopt 2 $_leng(comopt,3) did -ra comopt 3 $_leng(comopt,4) did -ra comopt 4 %_com_l did -ra comopt 6 %_com_r } elseif ($devent = edit) { if ($did = 4) %_com_l = $did(4) if ($did = 6) %_com_r = $did(6) } } menu menubar,channel,query { sysinfo .os ..os:os ..$_leng(menu,1):uptime ..$_leng(menu,2):display ..ram:ram .$_leng(menu,3) ..cpu:cpu ..$_leng(menu,4):sound ..bios:bios ..$_leng(menu,5):keyboard ..$_leng(menu,6):videocard .$_leng(menu,7) ..$submenu($sysinfo_lengs($1)) .$_leng(menu,8):comopt .addon:addoninfo } alias os { var %t $_sysinfo(os) $_windw($active) $_theme(OS) $gettok(%t,1,124) $+ $chr(44) $gettok(%t,6,124) ( $+ $gettok(%t,4,124) $+ ) $_leng(stats,1) $gettok(%t,5,124) $_leng(stats,2) } alias cpu { var %t $_sysinfo(cpu) $_windw($active) $_theme(CPU) $gettok(%t,1,124) $+ $chr(44) $gettok(%t,2,124) - $gettok(%t,3,124) - $_leng(stats,3) $eval(%,0) $+ $gettok(%t,5,124) - $gettok(%t,4,124) Mhz } alias uptime { $_windw($active) $_theme($_leng(stats,4)) $uptime(system,1) } alias sound { var %t $_sysinfo(sound) $_windw($active) $_theme($_leng(stats,5)) $gettok(%t,1,124) $+ $chr(44) $gettok(%t,3,124) } alias videocard { var %t $_sysinfo(videocard) $_windw($active) $_theme($_leng(stats,6)) $gettok(%t,1,124) $+ , $gettok(%t,2,124) } alias display { var %t $_sysinfo(display) var %l $_sysinfo(videocard) $_windw($active) $_theme($_leng(stats,7)) $gettok(%l,1,124) $+ , $gettok(%l,2,124) $+ , $res $gettok(%t,1,124) $+ bit $gettok(%t,2,124) $+ Hz $_leng(stats,8) } alias bios { var %t $_sysinfo(bios) $_windw($active) $_theme(Bios) $gettok(%t,1,124) $+ , $gettok(%t,3,124) $+ , $gettok(%t,2,124) } alias keyboard { var %t $_sysinfo(keyboard) $_windw($active) $_theme($_leng(stats,9)) $gettok(%t,1,124) $+ , $gettok(%t,2,124) } alias ram { var %t $totalmem var %f $freemem $_windw($active) $_theme(RAM) $_leng(stats,10) $bytes($calc(%t - %f)).suf $_leng(stats,11) $bytes(%f).suf $_leng(stats,12) $bytes(%t).suf $_leng(stats,13) $int($calc((%t - %f) / %t * 100)) $+ % } alias addoninfo $_windw($active) : sysinfo v2.0, $_leng(stats,14) $+([,$nopath($sys_conf(language)),]) alias res return $+($window(-1).w,×,$window(-1).h) alias _windw if ($isid) return $iif($1- ischan || $query($1-) || $chat($1-),say,echo -a) alias _theme return %_com_l $+ $1- $+ %_com_r alias _sysinfo { if ($1 = os) return $sysinfo(win32_operatingsystem,1).name,version,numberofprocesses,csdversion elseif ($1 = cpu) { var %l $sysinfo(win32_processor,1).deviceid,processortype,loadpercentage var %k $+(HKLM\hardware\description\system\CentralProcessor\,$remove($gettok(%l,1,124),CPU),\) return $regread(%k $+ \ProcessorNameString) $+ , $regread(%k $+ \Identifier) $+ $chr(124) $+ $regread(%K $+ \VendorIdentifier) $+ $chr(124) $+ $processortype($gettok(%l,2,124)) $+ $chr(124) $+ $regread(%k $+ \~mhz) $+ $chr(124) $+ $gettok(%l,3,124) } elseif ($1 = sound) return $sysinfo(Win32_sounddevice).name,description,manufacturer elseif ($1 = videocard) return $regread(HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000\DriverDesc) $+ $chr(124) $+ $regread(HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\0000\DriverDesc) elseif ($1 = display) return $sysinfo(win32_videocontroller,1).currentbitsperpixel,CurrentRefreshRate elseif ($1 = bios) return $sysinfo(win32_bios,1).name,version,manufacturer elseif ($1 = freemem) return $calc($sysinfo(win32_operatingsystem,1).freephysicalmemory * 1024) elseif ($1 = totalmem) return $totalmem elseif ($1 = keyboard) return $sysinfo(Win32_keyboard,1).name,description } alias regread { var %a regread .comopen %a WScript.Shell if !$comerr { var %b = $com(%a,RegRead,3,bstr,$1-) var %c = $com(%a).result .comclose %a if (%c) return %c } } alias sysinfo { if ($isid) && ($prop) { if ($com(Locator)) .comclose Locator if ($com(Services)) .comclose Services if ($com(Instances)) .comclose Instances .comopen Locator WbemScripting.SWbemLocator if ($comerr) { .comclose Locator | return } var %com = $com(Locator,ConnectServer,3,dispatch* Services) .comclose Locator if $com(Services) { var %com = $com(Services, InstancesOf,3,string,$$1,dispatch* Instances) .comclose Services } if $com(Instances) { var %com = $com(Instances,Count,3) var %x 1 while ($gettok($prop,%x,44)) { var %r = $iif(%r,%r $+ $chr(124)) $+ $comval(Instances,$iif($2,$2,1),$gettok($prop,%x,44)) inc %x } .comclose Instances } return %r } } alias processortype { goto $1 :1 | return Other :2 | return Unknown :3 | return Central Processor :4 | return Math Processor :5 | return DSP Processor :6 | return Video Processor } alias memorytype { goto $1 :0 | return Unknown :1 | return Other :2 | return DRAM :3 | return Synchronous DRAM :4 | return Cache DRAM :5 | return EDO :6 | return EDRAM :7 | return VRAM :8 | return SRAM :9 | return RAM :10 | return ROM :11 | return Flash :12 | return EEPROM :13 | return FEPROM :14 | return EPROM :15 | return CDRAM :16 | return 3DRAM :17 | return SDRAM :18 | return SGRAM :19 | return RDRAM :20 | return DDR } alias videotype { goto $1 :1 | return Other :2 | return Unknown :3 | return VRAM :4 | return DRAM :5 | return SRAM :6 | return WRAM :7 | return EDO RAM :8 | return Burst Synchronous DRAM :9 | return Pipelined Burst SRAM :10 | return CDRAM :11 | return 3DRAM :12 | return SDRAM :13 | return SGRAM } alias totalmem { if ($isid) { if ($com(Locator)) .comclose Locator if ($com(Services)) .comclose Services if ($com(Instances)) .comclose Instances .comopen Locator WbemScripting.SWbemLocator if ($comerr) { .comclose Locator | return } var %com = $com(Locator,ConnectServer,3,dispatch* Services) .comclose Locator if $com(Services) { var %com = $com(Services, InstancesOf,3,string,Win32_PhysicalMemory,dispatch* Instances) .comclose Services } if $com(Instances) { var %com = $com(Instances,Count,3) var %x 1,%t 0 while ($comval(Instances,%x,Capacity)) { inc %t $ifmatch inc %x } .comclose Instances } return %t } } alias freemem return $_sysinfo(freemem) alias usedmem return $bytes($calc($totalmem - $freemem)).suf alias sysinfo_lengs { var %s $remove($findfile($scriptdirlanguages\,*.ini,$1),$mircdir) if (!%s) || ($1 !isnum) return return $iif($sys_conf(language) = %s, $style(1)) $nopath(%s) $_leng(stats,15) $readini(%s,info,author) $+ :write_conf language %s } alias sys_conf if ($isid) return $readini($scriptdirconf.ini,conf,$1) alias write_conf writeini $shortfn($scriptdirconf.ini) conf $1- alias _leng return $readini($sys_conf(language),$1,$2)