2011-08-19 32 views
5

Tôi đang cố truy cập đường dẫn đích từ tệp lối tắt (.lnk) trên máy 64 bit bằng ứng dụng 32 bit của tôi. Để có được đường dẫn, tôi đã sử dụng đoạn mã sau.Truy cập đường dẫn đích từ tệp lối tắt trên hệ thống 64 bit bằng ứng dụng 32 bit

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

này trả về con đường C:\Program Files (X86)\.. thay vì C:\Program Files\..

Có bất kỳ công việc xung quanh cho việc này?

+0

Kể từ khi ứng dụng của bạn là 32 bit tôi nghĩ rằng nó sẽ luôn luôn trở lại trong thời trang này – V4Vendetta

+1

Kiểm tra này ra http://stackoverflow.com/questions/2284725/ho w-do-get-the-path-of-program-files-bất kể-of-the-architecture-of-the-target – V4Vendetta

+0

Cảm ơn bạn, nhưng việc thay đổi nền tảng xây dựng đã không hoạt động. Tôi đã hy vọng một công việc xung quanh như các phím tắt trỏ đến một ứng dụng 64bit trong C: \ Program Files \ ... – Jimesh

Trả lời

0

Một thủ thuật được sử dụng là để

  1. Lấy tên file từ link.TargetPath
  2. Nhận thư mục làm việc kể từ link.WorkingDirectory
  3. đường Nối
0

Đây là sự cố chung trong Windows. Thử chỉnh sửa tệp trong thư mục System32 (ví dụ: applicationHost.config) bằng trình chỉnh sửa 32 bit. Bạn sẽ được chỉnh sửa các tập tin từ thư mục SysWOW64 thay vì ... Nó còn hơn cả kỳ lạ ...

Các vấn đề liên quan