Цитата:
Сообщение от Konctantin
но если это первый запуск?
|
Какова вероятность попасть на первый запуск клиента?
Попробовал у себя
Код:
const
LOCALE_SIGN = 'SET locale "';
...
//locale stuff
WowIni:= TRegistry.Create;
try
WowIni.RootKey:= HKEY_LOCAL_MACHINE;
if WowIni.OpenKey('\SOFTWARE\Blizzard Entertainment\World of Warcraft', false)then begin
fname:= WowIni.ReadString('InstallPath') + 'Wtf\Config.wtf';
fs:= TFileStream.Create(fname, fmOpenRead);
setlength(temp_arr, fs.Size);
fs.Read(temp_arr[0], fs.Size);
fs.Free;
temp_str:= PChar(temp_arr);
temp_arr:= nil;
locale_pos:= pos(LOCALE_SIGN, temp_str);
if (locale_pos > 0) and (locale_pos + length(LOCALE_SIGN) + sizeof(PktHdr.locale) <= length(temp_str)) then
move(temp_str[locale_pos + length(LOCALE_SIGN)], PktHdr.locale, sizeof(PktHdr.locale));
end
else PktHdr.locale:= UNK_SIGN;
finally
WowIni.Free;
end;
всё пашет