2009-10-30 9 views
1

J'ai un programme qui utilise une extension de l'espace de noms de bureau. Sous Windows 2000, Windows XP et Windows Vista, les utilisateurs peuvent faire glisser des icônes sur une icône du bureau et lancer le programme. Cependant, dans Windows 7 (Home et Ultimate), tout ce qui se passe est que l'ordre des icônes est réorganisé. J'ai essayé d'utiliser Sysinternals dbgview.exe. Il a correctement noté de nombreux événements de handler.exe, mais aucun événement n'est déclenché en faisant glisser une icône sur l'icône de l'espace de noms, ce qui signifie que le drophandler n'est même pas appelé du tout.Extension de l'espace de noms de bureau dans Windows 7: impossible de faire glisser et déposer

Comme il fonctionne toujours correctement, il doit y avoir quelque chose que Windows 7 nécessite, contrairement aux versions précédentes du système d'exploitation.

L'extension d'espace de noms est installé en bourrant les touches correspondantes dans le registre, et je voudrais garder le programme d'installation de travail de cette façon:

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" 

Répondre

3

ShellFolder doit avoir le bit SFGAO_BROWSABLE (0x08000000) défini lors de Windows 7.

0

UAC de Windows 7 pourrait empêcher le glisser souhaité déposer le comportement . Si l'élément déplacé a des autorisations moindres que l'élément cible, la cible ne sera pas lancée. Peut-être pouvez-vous désactiver l'UAC?

+0

Ce n'est pas un raccourci, il est une extension d'espace de noms. Peu importe, ce n'est pas un problème d'UAC, et désactiver l'UAC n'a aucun impact. – Brian

Questions connexes