Що насправді робить функція «Сховати вказівник під час набору тексту»?


18

Мені цікаво ця функція, яка є частиною Windows стільки, скільки я пам'ятаю. Можливо, навіть Windows 95 чи 98.

введіть тут опис зображення

Для мене це означає саме те, що воно говорить. Курсор миші повинен стати непомітним під час набору тексту. OS / X має цю функцію, і вона фактично працює. Однак з того, що я можу сказати:

  • Він повністю розбитий в Windows і був назавжди.
  • Додаток повинен реалізувати цю функцію або зателефонувати в якийсь API або ОС, щоб правильно її реалізувати.

Поки що це я знайшов:

  • Наскільки я пам’ятаю, Блокнот працює та поважає цей параметр. Зараз я не можу перевірити, оскільки у мене є Notepad2, який замінює Notepad. Notepad2 не поважає цей параметр.
  • Visual Studio ні.
  • IE не робить.
  • Microsoft Word є, але насправді приховує курсор миші незалежно від того, увімкнено цей параметр чи ні. Можливо, команда Office реалізувала цю функціональність внутрішньо.
  • Деякі SKU-коди Windows, схоже, поводяться інакше. Наприклад, у мене є один друг, який каже, що функція працює для IE, але він знаходиться на поверхні.

Хтось знайшов додаток, яке насправді приховуватиме курсор миші, якщо та лише якщо цей параметр увімкнено? Якщо такої програми немає, чи справді цей прапорець щось робить? З точки зору Windows API, які гачки ОС передбачені розробниками, щоб використовувати цю функцію?


На моїй машині Win7 він працює в Notepad та Word 2010. Він НЕ працює в Chrome і Notepad ++. Я дуже хочу, щоб це працювало в цих програмах.
gus

1
@gus - Ви кажете, що ці програми дотримуються налаштувань? Або ці програми приховують курсор миші під час набору тексту, незалежно від налаштувань?
Майк Крістенсен

2
Спочатку я вважав, що Блокнот і Word2010 дотримуються налаштування Сховати в параметрах вказівника. Прочитавши ваші коментарі, я перевірив поведінку з встановленим параметром «Сховати», знявши позначку, і підтвердив, що Блокнот і Word2010 приховують вказівник миші під час введення REGARDLESS параметра Hide в параметрах вказівника. Таким чином, ця функція Windows виявляється повністю порушеною або якось навіть не кодується в основних програмах MS.
gus

1
@gus - І з тих пір ... як .. 90-ті. Це весело. Вони повинні принаймні просто видалити функцію, якщо вона ніколи не була реалізована. Він все ще є в Windows 10 навіть!
Майк Крістенсен

Можливо, додатки вже не поважають це, але він все-таки є для застарілих цілей, про всяк випадок, якщо щось станеться .
Борт

Відповіді:


12

Функція « Сховати вказівник» під час введення тексту не виконує роботу щодо приховування покажчика. Все, що він робить, це встановити значення системного параметра Mouse Vanish . Це значення, яке можна запитувати за допомогою функції SystemParametersInfo () WIN32 API, передаючи константу SPI_GETMOUSEVANISH.

Програми повинні запитувати цей параметр і, якщо для параметра встановлено значення TRUE, сховати вказівник миші під час введення тексту.

Кілька додатків шанують цей параметр, наприклад редактор у EElipse IDE.

Більшість програм повністю ігнорує його. Текстовий редактор, який використовується на сайтах Stack Exchange, не приховує курсор під час введення тексту.

За іронією долі, досить багато додатків Microsoft ігнорують налаштування та все одно приховують курсор. Наприклад, Word 2010 та Блокнот для Windows 10.


Таким чином, ОС являє собою сховище даних, зберігаючи потрібне значення для параметра, але ОС не ініціює функціональність перевірки. Недарма це не сприймається як широко підтримуваний. Зітхнути. Цікаво, чи підтримує це більшість частин Microsoft Windows, наприклад, під час збереження файлу або під час введення контуру у верхній частині вікна.
TOOGAM

1
Нічого, дякую за технічну інформацію! Я пішов так далеко, щоб запитати реальних розробників у команді Windows у Microsoft, і ніхто з них не знав відповіді! У мене навіть був один файл помилки в Windows 10, але він вирішився як "Won't Fix", оскільки він працював так само в Windows 8. Я думаю, що вони повинні видалити налаштування або зробити так, як OS / X (де він ховається незалежно від застосування).
Майк Крістенсен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.