Exemple:Pourquoi les chaînes égales se comportent-elles parfois différemment? (VB.NET Interface COM)
Dim Sh32 As Object = CreateObject("Shell.Application")
Dim path As String = "C:\temp\catalog.zip"
Dim sf As Object = Sh32.NameSpace(path)
-> ne fonctionne pas, sf = Nothing
Dim Sh32 As Object = CreateObject("Shell.Application")
Dim path As String = "C:\temp\catalog.zip"
Dim sf As Object = Sh32.NameSpace(path.ToString)
-> fonctionne
Toute idée?
Nettement path = path.ToString, mais ils se comportent différemment lorsqu'ils sont utilisés en tant que paramètres COM.
Pourquoi utilisez-vous COM pour cela? La classe Process devrait être capable de faire tout ce que Shell.Application peut faire. –
Merci, mais j'utilise sf.MoveHere (newpath.ToString) pour ajouter un fichier à un fichier zip, et il n'y a pas de fonctionnalité équivalente dans la classe Process. La classe ZipPackage du .NET framwork est une alternative mais elle ajoute toujours un fichier meta [ContentType] .xml. – GerdR