All pastes #913182 Raw Edit

Stuff

public text v1 · immutable
·published 2008-02-21 21:46 UTC
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)