我有一个使用桌面命名空间扩展的程序。在Windows 2000,Windows XP和Windows Vista中,用户可以将图标拖放到桌面上的图标上,并启动程序。但是,在Windows 7(Home和Ultimate)中,发生的所有事情都是图标顺序重新排列。我尝试使用Sysinternals dbgview.exe。它正确地注意到了很多来自handler.exe的事件,但是没有事件通过将图标拖到名称空间图标上触发,这意味着drophandler甚至不会被调用。Windows 7中的桌面命名空间扩展:无法拖放
由于它仍然正常工作,必须有一些Windows 7要求以前版本的操作系统没有。
命名空间扩展由馅相关按键进入注册表安装,我想保持安装工作这种方式:
HKCR\CLSID\{{MY-NAMESPACE-GUID}:():"Caption"
HKCR\CLSID\{{MY-NAMESPACE-GUID}:(Drop):"""c:\programpath\program.exe"" /argument ""%s"""
HKCR\CLSID\{{MY-NAMESPACE-GUID}\InProcServer32:():"""c:\programpath\handler.exe"""
HKCR\CLSID\{{MY-NAMESPACE-GUID}\InProcServer32:ThreadingModel:"Apartment"
HKCR\CLSID\{{MY-NAMESPACE-GUID}\DefaultIcon:():"""c:\programpath\program.exe"",4"
HKCR\CLSID\{{MY-NAMESPACE-GUID}\Shell\Open\Command:():"""c:\programpath\program.exe"""
HKCR\CLSID\{{MY-NAMESPACE-GUID}\shellex\DropHandler:():{MY-GUID-HANDLER}
HKCR\CLSID\{{MY-NAMESPACE-GUID}\shellex\PropertySheetHandlers(): {MY-GUID-HANDLER}
HKCR\CLSID\{{MY-NAMESPACE-GUID}\ShellFolder():00 01 00 00
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\Namespace\{{MY-NAMESPACE-GUID}:():"Caption"
这不是一个快捷方式,这是一个命名空间扩展。无论如何,这不是UAC问题,关闭UAC不会有任何影响。 – Brian 2009-11-02 17:45:24