Показать сообщение отдельно
Старый 30.07.2010, 19:43   #100
user456
Новичок
 
Регистрация: 31.03.2010
Сообщений: 22
Сказал(а) спасибо: 2
Поблагодарили 23 раз(а) в 8 сообщениях
user456 На верном пути
По умолчанию

Цитата:
Сообщение от 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;
всё пашет
user456 вне форума   Ответить с цитированием