2007年8月1日 星期三

Vista 不再支援 IShellExecuteHook?

  在 MSDN 上微軟已經聲明在 Windows Vista 作業系統中 IShellExecuteHook 機制已被標示為「棄用 (deprecated)」,這樣的話一堆利用這好用機制的軟體 (包含惡意程式在內) 怎麼辦?
  實際上 IShellExecuteHook 還是可以用的,只不過在 Windows Vista 中預設會將這個功能關閉。要啟動這個功能的話,只要在 registry 中加入以下的機碼:

  • Path:HKEY_LOCAL_MACHINE 或 HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer
  • Value Name:EnableShellExecuteHooks
  • Value Type:REG_DWORD
  • Value:1
  我在 Windows Vista 實機上測試過確實是可行的。當然,如果要用的話還得將你實作了 IShellExecuteHook 介面之 Execute 方法的 COM 給註冊到系統中就是。

相關參考:

沒有留言:

張貼留言

欲以匿名留言的讀者,為了便於分別您與他人,請在【發表留言的身分】欄位直接選用「名稱/網址」,然後僅輸入名稱不輸入網址即可。