2011-08-19 5 views
5

내 32 비트 응용 프로그램을 사용하여 64 비트 시스템의 바로 가기 (.lnk) 파일에서 대상 경로에 액세스하려고합니다. 경로를 얻으려면 다음 코드를 사용하고있었습니다.32 비트 응용 프로그램을 사용하여 64 비트 시스템의 바로 가기 파일에서 대상 경로에 액세스

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

이 어떤 일이 주변에 있는가 C:\Program Files (X86)\.. 대신 C:\Program Files\..

의 경로를 반환?

+0

앱이 때문에 난 항상 이런 식으로 – V4Vendetta

+1

체크 반환 생각 32 비트이 밖으로 http://stackoverflow.com/questions/2284725/ho 프로그램 파일 경로 제공 - 대상 아키텍처와 관계 없음 – V4Vendetta

+0

고맙지 만 빌드 플랫폼을 변경해도 작동하지 않았습니다. 바로 가기가 C : \ Program Files \에있는 64 비트 응용 프로그램을 가리키고 있기 때문에 해결을 기대하고 있습니다. ... – Jimesh

답변

0

트릭이 사용하는 ... ... 그것은 이상한 것보다 더 대신 SysWOW64와 폴더에서 파일을 편집 될 것은

  1. 이다
  2. 가져 link.TargetPath에서 파일 이름을 가져옵니다 link.WorkingDirectory에서 작업 디렉토리
  3. 추가] 경로
0

Windows의 일반적인 문제입니다. 32 비트 편집기를 사용하여 System32 폴더 (예 : applicationHost.config)의 파일을 편집 해보십시오. 당신은

관련 문제