Решение проблемы с цветами StarCraft для Windows 7
Вчера решил занятся этой проблемой (с цветами) под Windows 7 64-bit. StarCraft никогда не вис, так что тем у кого виснет советую попробовать обновит драйверы на видео, звук, другие устройства, обновить ОС в конце концов - в одном из последних апдейтов как раз исправили зависание при переходе в спящий режим (очень похоже по описаниям), может это как то связано.
У меня ничего из предложенного тут не работало, кроме taskkill /f /im explorer.exe. Но это радикальное решение. Эта команда убивает все процессы проводника, убивает не только меню пуск и трей, но и открытые папки и прочее. Жутко неудобно. К тому же убийство проводника не лучший вариант. Зная, что это помогает стал искать другой способ.
Первое предположение (оказалось правдой), что глюк с цветами вызывает не explorer.exe вообще, а только то процесс, который отвечает за Shell. Таким образом, если разделить процессы для проводника и Shell, то можно закрыть только меню пуск, панель задач и трей, а открытые папки оставить нетронутоми. Так написал скрипт StarCraft.vbs, который делает тоже самое, но убивает не всё подряд, а только то что необходимо.
Потом я всё же решил попытать поправить это дело с помощью ACT (Application Compatability Toolkit) и к моему удивлению тоже получилось. Так родилось два фикса проблемы с цветами.
ПЕРВЫЙ ФИКС
(С ИСПОЛЬЗОВАНИЕ ACT):
Принцип действия: правит Windows Application Compatability Database устанавливая для всех версий StarCraft режимы DisableDWM, DisableFadeAnimation и фиксы Force640x480x8 и IgnoreAltTab. Сам StarCraft при этом не трогается. В приложенном архиве находится установщик, его исходный текст и SDB файл в папке SRC.
УСТАНОВКА: Перед установкой необходимо снять все галочки на вкладке совместимость для StarCraft. Однократно запустите от имени администратора win7colorfix.exe и нажмите кнопку установить. Исправление применяется мгновенно и для всех версий StarCraft (уже установленных или которые будут ставится в будующем). Исправление никак не затрагивает систему и влияет только на запуск StarCraft.
УДАЛЕНИЕ: В оснастке "Программы и компоненты" панели управления нажмите "Удалить/Изменить" для StarCraft Windows 7 Color Fix.
РУЧНАЯ УСТАНОВКА: В командной строки от имени администратора введите sdbinst -q <путь_к_sdb_файлу>
РУЧНОЕ УДАЛЕНИЕ: В командной строки от имени администратора введите sdbinst -u <путь_к_sdb_файлу>.
ПЛЮСЫ ЭТОГО ФИКСА:
* Используется рекомендованный Microsoft способ решения подобных проблем.
* Не затрагивается система и файлы StarCraft.
* Не изменяется способ запуска StarCraft, изменяется толко реакция системы на запуск StarCraft.exe.
* Не оказывает никакого влияния на другие приложения.
* Мгновенное применение и удаление фикса.
Примечание1: Странно то, что в основном помогает фикс в ACT Force640x480x8. Хотя теже настройки на вкладке совместимости (разрешение 640x480, 256 цветов не помогают, а наоборот всё портят). Также и с DisableDWM помогает только режим в ACT, а аналогичный фикс не помогает.
Примечание 2: Заметил, что на эффективность этого фикса влияют используемые темы визуального оформления.
Примечание 3: Фикс срабатывает не всегда, но в большинстве случаев после его установки старик у меня запускался без глкюков с цветами, что уже хорошо.
Примечание 4: Поскольку по нажатию Alt+Tab цвета портятся, то выставил фикс IgnoreAltTab он блокирует все комбинации, которые сворачивают старик (кроме Ctrl+Alt+Del естественно), чтобы не свернуть стар, случайно нажав на Alt+Tab.
ВТОРОЙ ФИКС
(для тех у кого не работает первый)
ПРИНЦИП ДЕЙСТВИЯ: аналогичен остальным подобным фиксам за небольшим исключением. Используется vbscript и WMI для поиска и завершения процессов explorer запущенных userinit, winlogon или taskmgr, а также тех для которых не удалось определить процесс, который их запустил. После чего запускается StarCraft и по его завершении восстанавливается explorer.exe. Таким образом, меньше шанс убить процесс проводника отвечающий за открытые папки (он запускается svchost).
УСТАНОВКА:
1. Для начала необходимо указать системы, что папки надо открывать в отдельном процессе проводника. Это делается так: Панель управления -> Оформление и персонализация -> Параметры папок -> Вид. Ставим галочку напротив "Запускать окна с папками в отдельном процессе" (эта настройка существенно повышает стабильность работы системы, так что не знаю почему она не стоит по умолчанию).
2. Перезагружаем компьютер.
3. Копируем StarCraft.vbs в папку с StarCraft.
4. Запускаем StarCraft двойным кликом по StarCraft.vbs.
ПЛЮСЫ:
* Никаких окон компандной строки.
* Скрипт легко поправить, посмотреть принцип действия и изменить.
* Безопаснее, чем exe, который может делать что угодно без вашего ведома.
* Скрипт старается не закрывать окна с папками отличие от bat файла (хотя алгоритм в теории может ошибаться - не нашёл как vbs работать с окнами, через exe бы получилось, но тогда бы потерялась наглядность и простота редактирования).
ТРЕТИЙ ФИКС
(для версии 1.16.1)
Нашёл в Интернете, по адресу: http://www.sevenforums.com/gaming/5...rosoft-way.html
Для 64 битной системы в прикриплённом reg файле надо заменить:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw\Compatibility\Starcraft116] на [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw\Compatibility\Starcraft116]
Всё оказалось так просто и замечательно работает, даже Alt+Tab :-) Только на заставке цвета немного портятся.
ЧЕТВЕРТЫЙ ФИКС
(для любой версии)Дополнил [7x]~Zer@tuL~ 19.11.12
Софтина вышла в 2010 году, на момент написания основной статьи её еще не было.
Есть такая замечательная программка: DirectDraw Compatibility Tool.
Предназначена для решения проблем с искажением цветовой палитры в старых играх (StarCraft, Fallout и другие великие игры второй половины 90-х).
Искажение происходит из-за проблем совместимости графического интерфейса Windows Aero с играми, рассчитанными на работу под DirectX 7 DirectDraw, или более старую версию DirectX.
В Windows Vista и Windows 7 имеются встроенные средства обеспечения совместимости с такими играми, но для функционирования этого режима необходимо внести информацию об exe-файле игры в соответствующий раздел реестра. DirectDraw Compatibility Tool позволяет полностью автоматизировать создание правил совместимости.
Выкладываю я это всё, чтобы не пропадало. В надежде, что кому-нибудь пригодится:
Скачать StarCraft Win7 Color Fix (все четыре фикса, одним архивом)
Статья написана: 2010-02-04 00:10:27
Прочитано раз: 187992
Последний: 2024-03-29 02:43:16
ip: 188.233.114.*
ip: 79.110.133.*
ip: 109.195.224.*
ip: 176.36.18.*
ip: 176.96.80.*
ip: 195.88.72.*
ip: 89.20.110.*
ip: 91.229.108.*
Новичок
этот четвёртый,просто блеск.давно искал что-нибудь радикальное,без эксплорера:)
СПАСИБИЩЕ
ip: 178.125.222.*
Эн таро Адун!
ip: 193.0.240.*
ip: 84.50.48.*
но за фикс спасибо)
One Winged Angel
Поправил.
ip: 95.158.231.*
One Winged Angel
ip: 82.200.138.*
Спасибо
ip: 188.32.30.*
ip: 213.87.241.*
ip: 95.220.236.*
ip: 178.151.172.*
ip: 188.134.32.*
ip: 91.208.97.*
для вин7 х64 помог 3 фикс
ip: 91.206.126.*
ip: 89.208.116.*
ip: 92.61.66.*