Error: uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIWindowsRegKey.getValueType]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: chrome://firereg/content/XPCOM.js :: readRegistryValue :: line 3" data: no]
I've tried reading just the type with getValueType(), and it fails with the same error. Here is the javascript code behind it, line 3 is the first wrk.getValueType(value) in the readRegistryValue() function:
function readRegistryValue(wrk, value)
{
switch (wrk.getValueType(value)) {
case wrk.TYPE_STRING:
return wrk.readStringValue(value);
case wrk.TYPE_BINARY:
return wrk.readBinaryValue(value);
case wrk.TYPE_INT:
return wrk.readIntValue(value);
case wrk.TYPE_INT64:
return wrk.readInt64Value(value);
}
// unknown type
return null;
}
function ReadReg() {
var keybox = document.getElementById("reg-key");
var keystring = keybox.value; // Read in reg key to read from input box
var wrk = Components.classes["@mozilla.org/windows-registry-key;1"]
.createInstance(Components.interfaces.nsIWindowsRegKey);
// Run on startup:
// SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run
// AutoPlay keys:
//
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
//
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
wrk.open(wrk.ROOT_KEY_LOCAL_MACHINE,
keystring,
wrk.ACCESS_READ);
//var id = wrk.readStringValue("ProductId");
//initialize program list string
var programs = "";
/*for ( var i=0; i<wrk.valueCount; i++ ) {
alert("Valuecount is: " + wrk.valueCount);
var type = wrk.getValueType(i);
var name = wrk.getValueName(i);
var value = wrk.readStringValue(name);
alert(value);
programs += name + '\t\t' + value + '\n';
}*/
var name = wrk.getValueName(0);
alert("Name: " + name);
//var type = wrk.getValueType(0);
//alert("Type: " + type);
var value = readRegistryValue(wrk,0);
alert("Value: " + value);
wrk.close();
var textbox = document.getElementById('keyvalues');
if ( programs != "" ) {
textbox.value = programs;
var clearbutton = document.getElementById('clear-button');
clearbutton.disabled = false;
}
event.stopPropagation();
}
function Clear() {
var textbox = document.getElementById('keyvalues');
textbox.value = "";
var clearbutton = document.getElementById('clear-button');
clearbutton.disabled = true;
}
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Project_owners mailing list [email protected] https://www.mozdev.org/mailman/listinfo/project_owners
