Сховати дратівливу підказку VMware "Щоб звільнити введення даних, натисніть Ctrl + Alt"


13

Я запускаю VMWare Workstation 7 у Windows 7 x64. У гостьовій ОС (також Windows 7 x64) у мене встановлені інструменти VMWare, але послуга VMWare Tools відключена. Я запускаю VM у повноекранному режимі, а панель інструментів VMWare у верхній частині часто відображає цю підказку:

Щоб звільнити введення, натисніть Ctrl + Alt

Ця підказка затьмарює частину VM (часто меню програми, яку я використовую), і це дратує як пекло. Якщо вийти з повноекранного режиму і знову в ньому позбутися, але лише до тих пір, поки я не переведу курсор на цю панель інструментів, а потім знову з’явиться! Як я позбудусь цього, раз і назавжди?

Я спробував додати

hints.hideAll = "TRUE"

до файлу .vmx для VM та до preferences.ini, і жоден із них не допоміг.


2019, і досі немає можливості GUI відключити його. Чесно кажучи, люди VMware ...
cdlvcdlv

Відповіді:


2

Я вирішив це, перейшовши в Налаштування робочої станції і знявши позначку "Захопити клавіатуру та введення миші при натисканні миші".

Потім перезавантажте робочу станцію. Очевидно, гостям потрібно буде встановити інструменти VMware.


Я знаю, я знаю, стара тема - хтось знає, що це зміна викликає у файлі .vmx?
JustJeff

@JustJeff Я не думаю, що це призведе до будь-яких змін, воно переслідує налаштування vmware (можливо, в реєстрі).
петерх

2

Це ніколи не працювало для мене за допомогою інтерфейсу робочої станції vmware, але ви можете це зробити за допомогою редактора HEX та модифікації vmware.exe, тож ось, як я це робив на Workstation 11.

HxD - це хороший варіант для вікон.

  • Спочатку створіть резервну копію / копію файлу vmware.exe у програмних файлах.

  • Закрийте робочу станцію vmware.

  • Відкрийте HxD як адміністратор і відкрийте vmware.exe.

  • Після відкриття файлу знайдіть рядок ascii (CTRL + F) To release. Це має бути між компенсаціями 0012A350@ 0012A390.

  • Замініть наступні байти на 00(ascii null) або 2E(ascii .):

    Від:
    @&!*@*@(msg.vmui.fullScreen.ungrab.tooltip)To release input, press %s
    До:
    .....................................................................

Обережно! Не видаляйте жодних байт, замініть їх. Файл повинен залишатися однакового розміру.


1
Підказка для VMWare Player (версія 7.1.0) - це файл vmclientcore.dll.
Максим Пулін

1
Між п'ятьма різними обхідними шляхами, які я знайшов у мережі, це був єдиний робочий.
peterh

працював як шарм. thx
termnml

2
Це важче в v12. По-перше, зауважте, вам потрібно перемістити файли в безпечне місце, а не на робочий стіл (з незрозумілої причини) для HxD, щоб дозволити писати. Потім повідомлення зберігаються в vmwarecui.dllі vmclientcore.dllшукати, To returnяк повідомлення було змінено. Код також відрізняється, просто почніть з @&і замініть до кінця повідомлення. Але їх також є більше повідомлень, які приймаються, коли це видалено, тому просто скануйте вгору та вниз кілька рядків в обох файлах на наявність подібних повідомлень в обох файлах, а також обнуліть їх.
Джонатан

0

Я додам спосіб виправити це з командного рядка, який має продовжувати діяти в нових версіях.

Вам знадобиться крихітний (2,12 Мб), але універсальний безкоштовний інструмент sfk(Швейцарський файловий ніж) від StahlWorks Technologies . Так чи інакше, вам знадобиться сторонній інструмент (HxD або будь-який інший), оскільки, AFAIK, Windows не має рідного способу зробити це.

Ви повинні шукати шістнадцятковий рядок 54 6F 20 72 65 6C 65 61 73 65 20 69 6E 70 75 74 2C 20 70 72 65 73 73 20 25 73(тобто "To release input, press %s") та замінити його на 00 6F 20 72 65 6C 65 61 73 65 20 69 6E 70 75 74 2C 20 70 72 65 73 73 20 25 73(те саме, за винятком початкового нульового символу).

Це printfрядок формату, який закінчується байтом 0x00: якщо ви ставите на \0його перше місце, рядок зводить нанівець, тому наступні нулі зайві. Ми використовуємо повний рядок лише для того, щоб ми прагнули до нашої мети.

  1. Завантажте sfk.exeі помістіть його в папку VMware (або будь-яку іншу у вашій %PATH%).
  2. Відкрийте командний рядок з підвищеним рівнем і змініть також dir на папку VMware.
  3. Рекомендується зробити копію vmware.exe. Наприклад:
    copy vmware.exe vmware.exe.bak
  4. Виконайте таку команду:
    sfk replace vmware.exe -binary /546F2072656C6561736520696E7075742C207072657373202573/006F2072656C6561736520696E7075742C207072657373202573/ -nosub -yes
    (Ви можете перевірити різницю за допомогою fc /b vmware.exe.bak vmware.exe.)

По суті це те саме, що і у MaximePoulin, але з командного рядка і замінює лише один байт .

Звичайно, ви можете це зробити вручну, але, якщо оновити або перевстановити, розміщення цих двох команд у пакетному файлі дозволить заощадити ваш час та уникнути помилок майже напевно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.