簡體   English   中英

某些方法在基於ATL的Windows資源管理器預覽處理程序中不起作用

[英]Some methods not working in ATL based Windows Explorer Preview Handler

我正在用ATL(沒有MFC)編寫Windows資源管理器預覽處理程序。 除以下我認為與特權不足有關的問題外,它的工作正常:

  1. 調用DoModal()后,不顯示基於CDialogImpl的對話框(基於資源)。
  2. ShellExecute(...“ http://www.someurl.com )無法打開默認瀏覽器。
  3. 我的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下運行時可以做什么沒有任何限制? 有任何想法嗎?

提前致謝。

萬一有人被困在此。 默認情況下,prevhost.exe在低完整性模式下運行

您可以在此處查看限制列表

簡而言之,您在可以寫作的地方非常有限:

  • 注冊表:寫入並在HKEY_CURRENT_USER\\Software\\AppDataLow下創建子HKEY_CURRENT_USER\\Software\\AppDataLow
  • 文件系統:在%USER PROFILE%\\AppData\\LocalLow下編寫和創建子文件夾

IPC的可用方式也有局限性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM