; $regval(Key, n) - Lookup value names in a key
; $regkey(Key, n) - Lookup subkey names in a key
; $regKeyRemove(Key) - removes an entire key and all subkeys
alias regval {
if $2 == $null { echo missing param | return }
.comopen x Wscript.Shell
if $comerr { echo com error | return }
var %file = regcache.tmp
!.echo -q $com(x,Run,3,bstr,regedit /e %file $+(",$1,"),uint,0,bool,true)
var %name = $ini(%file,$1,$2)
.remove %file
.comclose x
return %name
}
alias regkey {
if $2 == $null { echo missing param | return }
.comopen x Wscript.Shell
if $comerr { echo com error | return }
var %file = regcache.tmp
!.echo -q $com(x,Run,3,bstr,regedit /e %file $+(",$1,"),uint,0,bool,true)
if $isfile(%file) {
filter -ffcg %file %file $+(^\[,$replace($1,\,\\),\\[^\\]+\]$)
if $2 == 0 { var %key = $lines(%file) }
else var %key = $mid($read(%file,n,$2),2,-1)
.remove %file
}
.comclose x
return %key
}
alias regkeyremove {
if !$1 { echo missing param | return }
.comopen x Wscript.Shell
if $comerr { echo com error | return }
var %file = regremove.reg
write %file $+(REGEDIT4,$lf,[-,$1])
!.echo -q $com(x,Run,3,bstr,regedit /s %file,uint,0,bool,true)
.comclose x
.remove %file
return 1
}