ShellExecuteHook在Vista&赢7?任何替代品? [英] ShellExecuteHook gone in Vista & Win 7? Any alternatives?

查看:116
本文介绍了ShellExecuteHook在Vista&赢7?任何替代品?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨!
我们已成功使用Win XP中的IShellExecuteHook接口来捕获对AutoCAD(acad.exe)的调用及其相关的文件类型。我们的"挂钩"的目的是主要是验证/建立一个良好的工作环境(特别是在网络中),并自定义程序启动而不必操纵标准程序安装。
不幸的是,现在似乎IShellExecuteHook界面几乎已被禁用在Vista和Win 7中,当从"运行"中调用acad.exe时,它仍适用于两种操作系统。对话框(Win + R),但不再选择快捷方式,或者从资源管理器文件对话框中选择AutoCAD图形。

网上有一些页面,如www.ureader.com/message/33256982.aspx ,建议至少在Vista中,应该可以重新启用挂钩功能,但是我试过了,它没有用。

你的问题在于 - 是否真的完全不可能重新启用钩子(仍然可以在运行对话框中运行......)?
如果是,是否有任何替代方法(其他方法或接口)可用于替换IshellExecuteHook功能?

欢呼,
Lars

Hi!
We've successfully been using the IShellExecuteHook inteface in Win XP to trap calls to AutoCAD (acad.exe) and it's associated filetypes. The purpose of our "hook" is mainly to verify / establish a good working environment (especially in networks) and to customize the program start without having to manipulate the standard program installation.

Unfortunately it now seems like the IShellExecuteHook interface has been almost disabled in Vista and Win 7. It still works in both OS when acad.exe is called from the "Run" dialog (Win+R), but no longer when shortcuts are selected, or an AutoCAD drawing is selected from the Explorer file dialog.

There are pages on the web like www.ureader.com/message/33256982.aspx, suggsting that, at least in Vista, it should be possible to reenable the hook functionality, but when I tried it, it didn't work.

The question for you pros out there is - is it really totally impossible to reenable the hook (still works in Run dialog...)?
If so, are there any alternatives (other methods or interfaces) that can be used to replace the IshellExecuteHook functionality?

Cheers,
Lars

推荐答案

嗨 - 我认为我的信息可以帮到你:

IShellExecuteHook 界面 动态链接库(DLL) ,Microsoft已将 "关闭" 此Windows COM™COM接口因为较旧的钩子会破坏Windows Vista™Shell。可以通过以下设置打开界面:

< span style ="font-size:small"> Computer\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\ CurrentVersion\Policies\Explorer

EnableShellExecuteHooks = 1(DWORD)

Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\POLicies\Explorer

EnableShellExecuteHooks = 1(DWORD)

微软感到遗憾的是微软不提供任何替代方案。然而,出现转折点,因为编写IShellExecuteHook DLL的替代方法是挂钩 ShellExecute() ShellExecuteEx() IsUserAnAdmin() 功能。

EnableShellExecuteHooks=1 (DWORD)    


What’s sad is that Microsoft isn’t offering any alternatives. However, there appears turning points, because an alternative to writing a IShellExecuteHook DLL is to hook the ShellExecute(), ShellExecuteEx() and IsUserAnAdmin()Function.



进一步阅读:
:IShellExecuteHook接口:
http://msdn.microsoft.com/en-us/library /bb775101(VS.85).aspx

ShellExecute功能:
http://msdn.microsoft.com/en-us/library/bb762153(VS .85).aspx

ShellExecuteEx功能:
http://msdn.microsoft.com/en-us/library/bb762154(VS.85).aspx

IsUserAnAdmin功能:
http://msdn.microsoft.com/en-us/library/bb776463(VS.85 ).aspx

我希望以上信息有用......



For further reading:
IShellExecuteHook Interface:
http://msdn.microsoft.com/en-us/library/bb775101(VS.85).aspx

ShellExecute Function:
http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx

ShellExecuteEx Function:
http://msdn.microsoft.com/en-us/library/bb762154(VS.85).aspx

IsUserAnAdmin Function:
http://msdn.microsoft.com/en-us/library/bb776463(VS.85).aspx

I hope the above information was helpful…

祝你有个美好的一天...

最好的问候,Fisnik


这篇关于ShellExecuteHook在Vista&amp;赢7?任何替代品?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆