2011-08-19 8 views
5

J'essaie d'accéder au chemin cible à partir d'un fichier de raccourci (.lnk) sur un ordinateur 64 bits en utilisant mon application 32 bits. Pour obtenir le chemin, j'utilisais le code suivant.Accès au chemin cible à partir d'un fichier de raccourci sur un système 64 bits utilisant l'application 32 bits

WshShell shell = new WshShell(); 
IWshShortcut link = (IWshShortcut)shell.CreateShortcut(flexShortcut); 
FLEXEXE = link.TargetPath; 

Ce retourne le chemin C:\Program Files (X86)\.. au lieu de C:\Program Files\..

Y at-il travail autour de cela?

+0

depuis votre application est 32 bits je pense qu'il reviendra toujours de cette façon – V4Vendetta

+1

Check this out http://stackoverflow.com/questions/2284725/ho w-do-obtenir-le-chemin-des-fichiers-programme-indépendamment-de-l'-architecture-de-la-cible – V4Vendetta

+0

Merci, mais la modification de la plate-forme de compilation n'a pas fonctionné. J'espérais un travail autour comme le raccourci pointe vers une application 64 bits dans C: \ Program Files \ ... – Jimesh

Répondre

0

Une astuce à utiliser est de

  1. Obtenez le nom du fichier de link.TargetPath
  2. Get le répertoire de travail de link.WorkingDirectory
  3. Append chemin
0

Ceci est un problème général dans Windows. Essayez d'éditer un fichier dans un dossier System32 (par exemple, applicationHost.config) avec un éditeur 32 bits. Vous allez éditer le fichier à partir du dossier SysWOW64 à la place ... Il est plus qu'étrange ...

Questions connexes