I suggest to add a new function for WPI.
1 - Detect KeyboardLayout inside wmi.js (from line 348) :
function getKeyboardLayout()
{
position="wmi.js";
whatfunc="getKeyboardLayout()";
try
{
objWMIService=GetObject("winmgmts:\\\\" + "." + "\\root\\CIMV2");
colItems=objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly);
enumItems=new Enumerator(colItems);
objItem=enumItems.item();
KeyboardLayout=objItem.Locale;
}
catch(ex)
{
}
return KeyboardLayout;
}
Add inside global.js
// wmi.js
var KeyboardLayout;
Add inside global_lang.js
var lblKeyboardLayout=[];
Add inside information.js (on line 119):
MyComputerGrid.addRow(gId++,getText(lblKeyboardLayout)+','+getKeyboardLayout()+'');
Add inside lang_en.js
lblKeyboardLayout[lang] = ['Keyboard Layout'];
2 - To display properly Language, location and keybordlayout, I suggest to change:
Inside core.js
Change // %OSLANG% to:
// %OSLANG%
var LCID;
CreateLocalArray();
try
{
objWMIService=GetObject("winmgmts:\\\\" + "." + "\\root\\CIMV2");
colItems=objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly);
enumItems=new Enumerator(colItems);
objItem=enumItems.item();
LCID=objItem.Locale;
for (var x=0; x<arrOSLang.length; x++)
{
if (arrOSLang[x].LCID==LCID)
{
oslang=arrOSLang[x].TLA;
oslocale=arrOSLang[x].Locale;
break;
}
}
}
catch(ex)
{
oslang="ENU";
oslocale="English - United States";
}
// Environment variable for batch file
setEnvVar("HDD",hdd,false);
setEnvVar("CDDRV",cddrv,false);
setEnvVar("WPIPATH",wpipath,false);
setEnvVar("ROOT",root,false);
setEnvVar("OSLANG",oslang,false);
setEnvVar("OSLOCALE",oslocale,false);
}
And remove inside core.js:
function DecToHex(d)
{
position="core.js";
whatfunc="DecToHex()";
var hD="0123456789abcdef";
var h=hD.substr(d&15,1);
while(d>15)
{
d>>=4;
h=hD.substr(d&15,1)+h;
}
return h;
}
Image Computer Information
Tested and works fine for me!
Example:
config.js
pn=1;
prog[pn]=['Ashampoo'];
uid[pn]=['ASHAMPOO'];
ordr[pn]=[1];
dflt[pn]=['yes'];
forc[pn]=['no'];
bit64[pn]=['no'];
cat[pn]=['Applications'];
pfro[pn]=['no'];
cmds[pn]=['{OS=Win8%comma%Win7%comma%Vista%comma%XP} "%wpipath%\\Install\\abs6_free.exe"'];
cond[pn]=['getOSlang()=="FRS"'];
pn++;
WPI_Log.txt
Thanks to check if it's OK!
Regards
This post has been edited by myselfidem: 12 February 2013 - 06:48 AM