Windows Tips & News

Winaero Tweaker оновлено до версії 0.1.0.1

Я щойно випустив нове незначне оновлення Winaero Tweaker. Я хотів би пояснити, що нового і чому вам потрібно оновити свою версію.

Як ви могли помітити, Winaero Tweaker включає мій "Крихітні межі вікон", за допомогою якого можна змінити розмір рамки вікна в Windows 7, Windows 8 і Windows 8.1.
winaero_tweaker_twb

Хоча Tiny Window Borders є 32-розрядною програмою, Winaero Tweaker включає в себе як 32-розрядні, так і 64-розрядні версії та запускає відповідну версію залежно від розрядності вашої ОС.
Однією з проблем, яку я виявив після перенесення "Tiny Window Borders", є те, що 64-розрядний API веде себе некоректно.

Примітка. Наведена нижче інформація може бути цікавою для розробників і занадто технічною для звичайних кінцевих користувачів.

Winaero Tweaker використовує SystemParametersInfo функція отримання та встановлення розміру межі. Windows Vista і вище поставляються з розширеним NONCLIENTMETRICS структура.
Додатковий iPaddedBorderWidth член визначає товщину доповненої межі в пікселях. Його значення за замовчуванням — 4 пікселі. Члени iPaddedBorderWidth і iBorderWidth об’єднані як для вікон зі зміною розміру, так і для вікон без зміни розміру в робочому столі Windows Aero.

Однак, якщо ви використовуєте NONCLIENTMETRICS із SystemParametersInfo Windows x64, він опускає член iPaddedBorderWidth! Це призводить до неправильної поведінки програми. Отже, в даному випадку iPaddedBorderWidth завжди дорівнює нулю а розмір межі повертається як iPaddedBorderWidth+iBorderWidth. Це можна легко проігнорувати, однак це також призводить до неправильної поведінки. Буде встановлено межу, застосовану для x64 NONCLIENTMETRICS ТІЛЬКИ для програм x64. Програми x86 матимуть старі рамки, доки ви не вийдете із сеансу Windows. Це просто дивно.

Отже, щоб виправити це, я закодував просту обгортку x86, WinaeroWOW64.exe, який постачається разом із Winaero Tweaker і миттєво змінює межі, коли вам це потрібно. Він не залишається в пам'яті, тому ви навіть не помітите його присутність.

Ці зміни включені в поточний випуск Winaero Tweaker 0.1.0.1, і я настійно рекомендую вам оновити програму. Я сподіваюся, що ця інформація буде корисною для розробників, які стикаються з такою ж проблемою.

Завантажте Winaero Tweaker.

Windows 10 Build 18362.30 KB4497464 (швидкі та повільні дзвінки)

Windows 10 Build 18362.30 KB4497464 (швидкі та повільні дзвінки)

Корпорація Майкрософт випускає нове сукупне оновлення для інсайдерів у кільцях Slow and Fast. Оно...

Читати далі

Windows 10 Build 19582 (Fast Ring)

Windows 10 Build 19582 (Fast Ring)

Сьогодні Microsoft випустила нову збірку Windows для інсайдерів у Fast Ring. Windows 10 Build 195...

Читати далі

Команди ms-settings в Windows 10 Fall Creators Update

Команди ms-settings в Windows 10 Fall Creators Update

РЕКОМЕНДУЄМО: Натисніть тут, щоб вирішити проблеми з Windows та оптимізувати продуктивність систе...

Читати далі