web-dev-qa-db-ja.com

「入力中にポインタを隠す」機能は実際に何をしますか?

私が覚えている限り、Windowsの一部であるこの機能に興味があります。 Windows 95か98かもしれません。

enter image description here

私にとって、それはまさにそれが言うことを意味します。入力している間、マウスカーソルが非表示になります。 OS/Xにはこの機能があり、実際に機能します。しかし、私が知ることができることから:

  • これはWindowsでは完全に壊れており、永遠に使用されています。
  • この機能を実装するか、APIまたはOSフックを呼び出して適切に実装するかは、アプリ次第です。

これまでのところ、これは私が見つけたものです:

  • 私が覚えているように、メモ帳はこの設定で機能し、尊重します。 Notepadに代わるNotepad2があるので、今はテストできません。 Notepad2はnotにこの設定を尊重します。
  • VisualStudioはそうではありません。
  • IEはしません。
  • Microsoft Wordはそうしますが、実際にはこの設定が有効になっているかどうかに関係なく、マウスカーソルを非表示にします関係なく。おそらく、Officeチームはこの機能を社内で実装しました。
  • Windowsの一部のSKUは動作が異なるようです。たとえば、この機能はIEで機能するという友人が1人いますが、彼はSurfaceを使用しています。

実際に非表示マウスカーソルこの設定が有効になっている場合のみになるアプリを見つけた人はいますか?そのようなアプリが存在しない場合、このチェックボックスは実際に何かをしますか? Windows APIの観点から、開発者がこの機能を利用するために使用することになっているOSフックは何ですか?

18

タイピング中のポインタの非表示機能は、ポインタを非表示にする作業を行いません。 Mouse Vanishシステムパラメータの値を設定するだけです。これは、定数SPI_GETMOUSEVANISHを渡す SystemParametersInfo() WIN32 API関数を使用して照会できる値です。

アプリケーションはこのパラメーターを照会する必要があり、パラメーターがTRUEに設定されている場合は、入力時にマウスポインターを非表示にします。

たとえばEclipse IDEのエディターなど、いくつかのアプリケーションはこの設定を受け入れます。

ほとんどのアプリケーションはそれを完全に無視します。 Stack Exchangeサイトで使用されるテキストエディタは、入力中にカーソルを非表示にしません。

皮肉なことに、かなりの数のMicrosoftアプリケーションが設定を無視し、とにかくカーソルを非表示にします。たとえば、Word 2010、Windows 10のメモ帳などです。

12
bradfordrg