func init // adds using namespace sys.add_use('Microsoft.Win32') // initialize instance if(linked(".Data")) sys.add_var_extern(this.name, 'dynamic') end end func ClassesRoot return('Registry.ClassesRoot') end func CurrentConfig return('Registry.CurrentConfig') end func CurrentUser return('Registry.CurrentUser') end func DynData return('Registry.DynData') end func LocalMachine return('Registry.LocalMachine') end func PerformanceData return('Registry.PerformanceData') end func Users return('Registry.Users') end func doGetValue(data) if(linked(".Data")) blk.println(this.codename, ' = Registry.GetValue(', this.make_path(), ', ', d("Value"), ', ', d("defaultValue"), ');') event("onGetValue", this.codename) else event("onGetValue", 'Registry.GetValue(' + this.make_path() + ', ' + d("Value") + ', ' + d("defaultValue") + ')') end end func doSetValue(data) blk.println('Registry.SetValue(', this.make_path(), ', ', d("Value"), ', ', d("Data"), ');') end func doSetValue2(data) blk.println('Registry.SetValue(', this.make_path(), ', ', d("Value"), ', ', d("Data"), ', ', isdef("ValueKind") ? d("valueKind") : 'RegistryValueKind.' + this.props("ValueKind").value, ');') end func .Data return(this.codename) end func make_path() if(isdef("Key")) p = '"' & d("Key") else p = code(this.props("Key").value) + '"' end return('"HKEY_' + this.props("HKey").value + '\\\\' + p) end