Bonjour tout le monde,
J'ai un programme qui lit le contenu du bureau, et dans le cas d'un raccourci exécute la cible.
Sur une machine précédente ça fonctionnait très bien.
Là, la notion de raccourci ne semble pas reconnue.
Dans strCmd, j'ai bien le chemin du raccourci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 FileInfo fi = new FileInfo(strCmd); if (fi.Extension.ToLower() == ".lnk") { IWshRuntimeLibrary.IWshShell_Class shellClass = new IWshShell_Class(); IWshShortcut s = shellClass.CreateShortcut(fi.FullName); string strCmd2 = s.TargetPath; }
Dans strCmd2, chaîne vide.
Si je presse le raccourci clavier du raccourci ou que je double-clique sur le raccourci mais dans la barre d'outils Windows du bureau, le raccourci s'exécute très bien.
Alors comme disent les gamins, "WTF ?"
Pour lire les propriétés du IWshShortcut, on me dit que je dois activer le débogage du code natif.
Dans Visual Studio Community 2022, Outils, Options, catégorie Débogage, Juste à temps, j'ai bien une case "Natif". Mais elle est cochée.
Partager