1

メモリ カードとデジタル カメラからそれぞれ画像ファイルを読み取るための Autoplay ハンドラと WIA ハンドラの両方をアドバタイズするコードがあり、正常に動作します。

ただし、アプリケーションを初めて実行するときに、Autoplay および WIA ハンドラーをデフォルトの「毎回何をするかを確認する」にリセットしたいと考えています。なんで?ユーザーがハンドラーを別のものに設定している場合、ユーザーが私のアプリケーションを使用しようとすると、マシンはまだ別のことを行い、実際にユーザーのアプリケーションが機能しないと不平を言うからです。マシンは単に以前の設定を尊重しています。

自動再生と WIA ハンドラーの両方をプログラムでリセットする方法はありますか? 変更可能なAPI呼び出し(.NetではなくWin32が望ましい)またはレジストリ設定のいずれかがあると思います。

4

1 に答える 1

0

ユーザーごとの自動再生設定 (Windows Vista および 7 の自動再生コントロール パネルに対応するもの) は、HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\UserChosenExecuteHandlers の下に保持されているようです。自動再生デバイスまたはメディア タイプのカテゴリごとにサブキーがあります。サブキーのデフォルト値を MSPromptEachTime に変更すると、「毎回何をするかを確認する」動作が復元されます。(自動再生コントロール パネルは Vista と 7 で新しく追加されたものですが、XP には同じレジストリ キーが存在し、ボリューム ベースの自動再生の場合は同じように機能すると思います。)

この MSDN 記事には、自動再生のしくみに関する詳細が記載されています。

于 2009-12-15T14:40:22.870 に答える