0

J'ai une application VB6 qui crée une instance d'Internet Explorer et implémente glisser-déposer pour cette instance. J'utilise l'événement BeforeNavigate2 de sorte que lorsque l'utilisateur dépose un fichier ou un dossier sur l'explorateur, l'événement renvoie le chemin.L'événement BeforeNavigate2 dans Windows Internet Explorer 7 ne se déclenche pas

...... 
Public WithEvents myIExplorer as new SHDocvW.InternetExplorer 
...... 
Private Sub myIExplorer_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, 
       Flags As Variant, TargetFrameName As Variant, 
       PostData As Variant, Headers As Variant, Cancel As Boolean) 

    If IsFile(URL) Then 
     'Process file 
    Else 
     'Process folder 
    End if 

End Sub 

Il fonctionne très bien avec Internet Explorer 6. Toutefois, il ne fonctionne pas correctement avec Windows Internet Explorer 7. Lorsque je laisse tomber un fichier, il fonctionne mais quand je laisse tomber un dossier, il ouvre juste le dossier et il n'a pas déclencher l'événement.

Qu'est-ce qui a changé dans IE7? Y a-t-il un réglage? Y a-t-il un problème de sécurité?

Merci

Répondre

1

IE6 avait ce qu'on appelait « l'intégration Shell », ce qui signifie essentiellement que iexplore.exe et Explorer.exe a fait la même chose, qui était ouvert un cadre commun qui pourrait accueillir soit une page Web ou un dossier shell. Pour IE7, cette intégration a été supprimée pour un certain nombre de raisons techniques, parmi lesquelles la sécurité IE en mode protégé feature et la volonté d'expédier facilement IE7 vers Windows XP et Windows Vista. Donc, pour répondre à votre question, oui, quelque chose a changé dans Internet Explorer 7. Si vous essayez de naviguer vers un chemin de fichier local, à peu près par n'importe quel mécanisme, il annule la navigation et la délègue à l'instance en cours d'exécution du shell explorer.exe. Il n'y a pas de paramètre pour revenir au comportement précédent.

Si vous avez besoin que cela fonctionne, vous devriez envisager d'écrire une extension Shell et non une extension Browser.

+0

Bonjour jeffamaphone Merci pour votre réponse Je vais jeter un oeil aux extensions shell – Ioannis