簡體   English   中英

在Windows 7 64位中使用32位外殼擴展

[英]Using 32-bit shell extensions in Windows 7 64-bit

我想開發一個兼容Windows XP SP2(32位)和Windows 7 64位的shell擴展(上下文菜單處理程序)。

是否可以在64位Windows中運行32位shell擴展,或者是否必須將shell擴展移植/重建為64位才能在Windows 7 64位中使用?

在64位操作系統中使用32位shell擴展是否存在任何缺點/已知問題?

32位應用程序運行在64位Windows就好了,但我不知道外殼擴展,因為如果我的理解是正確的,外殼擴展都加載到瀏覽器進程的進程內 COM服務器,這應該是一個64 64位Windows中的位進程...還是為在64位操作系統中運行的32位shell擴展提供的“32位仿真”形式?

shell擴展只是一個DLL,規則是32位應用程序只能加載32位DLL,而64位應用程序只能加載64位DLL。 沒有辦法解決這個問題。

在64位系統上,32位shell擴展可能仍然有用,因為這意味着任何加載shell擴展的32位第三方應用程序都可以工作。 例如,TortoiseSVN附帶並安裝了32位和64位版本,在64位Windows上,您仍然可以從32位應用程序(如第三方文件管理器)訪問TortoiseSVN上下文菜單。

但Explorer本身在64位Windows上是64位本機,因此如果您希望它在Explorer中工作,則需要64位版本的擴展。

Shell擴展是COM組件。 如果將其安裝為進程外服務器,Windows(DCOM)應該負責所有32位64位編組。

然后,MIDL編譯器將創建在進程中加載​​的64位存根。

您可以使用32位資源管理器,例如64位Windows中的xplorer² 它們可以處理32位DLL擴展,可用作搜索內容,預覽數據以及在上下文菜單中顯示的內容。 內置資源管理器是64位,忽略32位擴展。

暫無
暫無

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

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