Давайте разберемся с большими пушками.
Загрузите и установите набор средств для обеспечения совместимости приложений . Это включает в себя программу под названием «Администратор совместимости», которая поставляется в двух версиях: 32-разрядной и 64-разрядной. Запустите приложение с той же разрядностью, что и у приложения, которое вы хотите взломать.
Предыстория : многие приложения утверждают, что поддерживают определенную функцию, но затем портят реализацию. Microsoft постоянно занимается этим, и они создали инфраструктуру совместимости, чтобы повторно использовать исправления для распространенных проблем. Эти исправления реализованы в виде прокладок, перехватывающих вызовы Windows API. Мы будем использовать прокладку, которая эффективно отменяет декларацию приложения о осведомленности о DPI. Другие прокладки делают более причудливые / настраиваемые вещи (см. CorrectFilePaths
), В то время как некоторые просто лгут приложению о его среде (например ForceAdminAccess
).
В нижней части левой панели администратора совместимости вы увидите новую запись в пользовательских базах данных. Щелкните правой кнопкой мыши и выберите « Создать» → « Режим совместимости» . Назовите это как-нибудь (я использовал DpiMisbehavior
). В левом списке найдите DPIUnaware
и нажмите >
кнопку, чтобы включить его. Нажмите OK, как только вы это сделали.
Снова щелкните правой кнопкой мыши на пользовательской базе данных и выберите « Создать» → « Исправление приложения» . Укажите название программы и поставщика (это не имеет большого значения) и выберите основной EXE-файл приложения. (Именно здесь важна разрядность администратора совместимости.) После этого нажмите Далее.
В разделе Дополнительные режимы совместимости прокрутите вниз и найдите режим совместимости, который вы создали недавно. Проверьте свою коробку. Сделайте тестовый прогон, если хотите, затем нажмите Next.
Теперь, строго говоря, вам не нужно было создавать режим совместимости, потому что вы можете применить определенные исправления здесь. Я попросил вас сделать это на тот случай, если позже вам понадобится добавить дополнительные исправления в этот режим, чтобы они применялись ко всем приложениям, которые вы включили в этот режим. Таким образом, вы можете просто нажать «Далее», ничего не делая на шаге « Исправления совместимости» .
Соответствующая информация используется для определения того, какое приложение представляет программа (EXE). (Было бы весьма прискорбно, если бы исправления были применены к программам, которые в них не нуждаются.) Все проверенные записи должны совпадать, чтобы программа получила исправление. Администратор совместимости извлек эти значения критериев из EXE-файла, который вы указали ранее. По умолчанию все в порядке, или вы можете изменить их, если вы сильно относитесь к таким вещам. Нажмите Finish, когда будете удовлетворены.
Повторите создание приложения Fix Fix для каждой программы, которая нуждается в этом. Затем нажмите Сохранить на панели инструментов. Дайте ему любое имя, какое захотите; Я использовал DPI Repair
. Затем сохраните его в нужной вам файловой системе. Вы можете использовать элемент Открыть панель инструментов и выбрать этот файл, если вам нужно изменить его в будущем.
Наконец, щелкните правой кнопкой мыши вновь созданную пользовательскую базу данных и выберите « Установить» .
О, да.
Если в будущем вам потребуется изменить базу данных совместимости, просто откройте ее, внесите соответствующие изменения, нажмите «Сохранить», а затем переустановите; это просто пойдет по старой версии. Фактически, вы можете скопировать эту базу данных на другой компьютер и использовать Администратор совместимости, чтобы установить ее там без необходимости ее повторного создания.
Дополнительное развлечение : разверните запись Приложения в Системной базе данных, чтобы увидеть список программ, которые Microsoft должна была исправить с помощью этой инфраструктуры. Нажатие на запись программы покажет вам, какие исправления и режимы совместимости были применены. В разделе Исправления совместимости вы можете увидеть полный список исправлений, которые может использовать ваш компьютер.