Показать сообщение отдельно
Старый 02.04.2007, 08:43   #23
Stmf
Лейтенант
 
Аватар для Stmf
 
Регистрация: 01.08.2006
Адрес: Moscow
Сообщений: 1,209
Сказал cпасибо: 40
Поблагодарили 27 раз в 19 сообщениях
Если есть проблемы с файлом подкачки:

Цитата:
Сообщение от Random_hard
Да простят меня разработчики, прогнал я основной файл "XR_3DA.exe" через отладчик и увидел кое-что интересное. Перед тем как появится окошко с сообщением о нехватке памяти программа вызывает из kernel32.dll функцию GlobalMemoryStatusEx, которая возвращает значение ОПЕРАТИВНАЯ ПАМЯТЬ
плюс ФАЙЛ ПОДКАЧКИ.
У меня по непонятным причинам эта функция возвращала значение чуть больше 2 ГБ, хотя памяти в сумме около трех. Эту проблему можно обойти двумя путями:
1. Скачать последние обновления на WinXP.
2. Заставить программу вызывать не GlobalMemoryStatusEx а GlobalMemoryStatus который остался от 95/98/ME. Сделать это можно так:
Берем любой шестнадцатеричный редактор (я использовал WinHEX 13.0 SR-13) и открываем основной файл (У меня это XR_3DA.exe). Ищем через поиск строку GlobalMemoryStatusEx, и затираем два последних байта, заменяя их на 00h, то есть в шестнадцатеричном виде:
476C6F62616C4D656D6F72795374617475734578 меняем на
476C6F62616C4D656D6F72795374617475730000
Сохраняем и запускаем!

Не забудьте перед редактированием сохранить старый файл для возможности отката, и проследите, чтобы файла подкачки действительно хватало.
Stmf вне форума   Ответить с цитированием