ATL (MFC なし) で Windows エクスプローラーのプレビュー ハンドラーを作成しています。不十分な権限に関連していると思われる次の問題を除いて、それは正常に機能します。
- CDialogImpl ベースのダイアログ (リソース ベース) は、DoModal() の呼び出し後に表示されません。
- ShellExecute(... " http://www.someurl.com ) は、既定のブラウザーを開きません。
- Logger::Log() メソッドは実行されますが、ログ ファイルに何も書き込まれません。
DoModal() 呼び出し後の GetLastError() は 5 (ACCESS_DENIED) を返しますが、何が原因かわかりません。DoModal() への呼び出しは、コンテキスト メニュー ハンドラーから行われます。
ShellExecute が呼び出されると、「Google Chrome が応答しません。今すぐ再起動しますか?」というメッセージが表示されます。ダイアログ。[はい] をクリックすると Chrome は閉じますが、起動することはありません。[いいえ] をクリックしても何も起こりません。ShellExecuteEx についても同様です。
ShellExecute(NULL, _T("open"), _T("http://www.google.com"), NULL, NULL, SW_SHOWNORMAL)
この問題は、PREVHOST.EXE 内で実行されているハンドラーをプレビューする権限が不十分であることに関連しているようです。サムネイル ハンドラではファイル ログが正常に書き込まれますが、このプレビュー ハンドラでは書き込まれません。PREVHOST.EXE で実行している場合に実行できる操作に制限はありますか? 何か案は?
前もって感謝します。