rendered paste body;---------------
; 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)