1

WM_DEVICECHANGE を処理するアプリケーションがあり、DBT_DEVICEARRIVAL に関心があります。新しいデバイスが挿入されると、自動再生ダイアログがポップアップするかどうかを知る必要があります。調べるために、私は NoDriveAutoRun と NoDriveTypeAutoRun の値をチェックしています

SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer

HKCUおよびHKLMの下。ただし、ユーザーが [コントロール パネル] -> [自動再生] に移動し、[すべてのメディアとデバイスに自動再生を使用する] のチェックを外すと、自動再生は事実上無効になりますが、これらのレジストリ値は設定されません。私のテストボックスでは、デフォルトでは存在しません。また、ほとんどのユーザーは、ローカル グループ ポリシー エディターではなく、コントロール パネルのアプローチを使用して自動再生を無効にすると思います。

それで、私の質問は、そのチェックマークの設定は何ですか(レジストリ値はどこかにあると思いますか?)。何を試しても、自動再生が有効になっているかどうかを (確実に) 把握できないようです。

4

1 に答える 1

0

自動再生が有効になっていると、CD-ROM ドライブのコンテキスト メニューに「自動再生」動詞が表示されるようです。だからあなたはそれをテストすることができます。

  • IShellFolder::GetUIObjectOfを使用して、CD-ROM ドライブのシェル IContextMenu へのインターフェイス ポインターを取得します。
  • GetCommandStringを使用して動詞のリストを調べ、「AutoPlay」を探します。
于 2010-11-10T04:15:04.550 に答える