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); } } }