0

よくある問題と思われるものがあります。最も優れたコンピューターの 1 つで (昨年購入したとき) Windows 7 Home Premium を実行していますが、特定の視覚効果が自動的にオフになります。

私の平均的なユーザー エクスペリエンスの評価は高いので、なぜこのようなことが起こるのか説明できません。オフになる唯一の機能は、[ドラッグ中にウィンドウの内容を表示する] オプションです。そして、それは本当に私を悩ませます。

現在、この問題をオンラインで解決する方法はありません。「マシンにインストールされている別のアプリと競合する必要がある」以外。

はい、どのアプリがこの競合を引き起こしているかはわかっています。それは私の血まみれのインターネット プロバイダーのソフトウェアです - ご存知のように、ネットに接続しているときは常に開いておく必要があるアプリです。

それで、私は考えました。バックグラウンドで実行されるアプリが、この「ドラッグ中にウィンドウの内容を表示する」オプションがオフになっていることを検出できるように、イベントをサブスクライブできたらどうなるでしょうか。

これを手動で行うと、約 1 時間か 2 時間効果が持続するようで、その後再びオフになります。

これらのタイプのイベントを処理して、特定の視覚効果機能を再開することはできますか? もしそうなら、これに関するリソースはありますか?

私はまだこの問題について何も見つけることができませんでした。

ここに画像の説明を入力

4

1 に答える 1

1

はい、システム設定が変更されると、 WM_SETTINGSCHANGEメッセージがすべてのウィンドウに送信されます。次に、SPI_GETDRAGFULLWINDOWS で SystemParametersInfo を呼び出し、「ドラッグ中にウィンドウの内容を表示する」が無効になっているかどうかを判断し、SPI_SETDRAGFULLWINDOWS を使用して有効にします。

したがって、必要なことは、フォーム (非表示のままにすることもできます) を使用してアプリケーションを作成し、フォームWndProcWM_SETTINGSCHANGEをオーバーライドして、メッセージを処理し、SystemParametersInfop/Invoke を使用して呼び出すことだけです。SystemParamtersInfoの p/Invoke 定義は、pinvoke.net で入手できます。

より簡単なのは、HKCU\Control Panel\Desktop\DragFullWindowsレジストリ値のセキュリティを変更できないようにすることです。

于 2012-05-28T14:41:28.107 に答える