2010-08-03 18 views
5

Ứng dụng 32 bit chạy trên Windows   7 trở về như thế nào dưới đây?Environment.SpecialFolder.ProgramFiles giá trị cho một ứng dụng 32 bit trên Windows 7?

Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) 

C:\Program Files (x86) hoặc C:\Program Files?

+0

Tôi nghĩ rằng điều này giả định một phiên bản tiếng Anh của Windows. –

+0

Bạn có muốn đường dẫn từ chế độ xem hệ thống tệp quá trình 32 bit hoặc quá trình xem hệ thống tệp 64 bit (ví dụ: Windows Explorer) không? –

+0

[Điều này] (http://stackoverflow.com/questions/194157/c-how-to-get-program-files-x86-on-vista-x64) cũng có thể hữu ích (một câu hỏi SO khác). – cjk

Trả lời

1

C: \ Program Files (x86)

11

On 32 bit Windows 7, bạn sẽ nhận được "C: \ Program Files", trên 64 bit "C: \ Program Files (x86)".

+0

Chúng tôi có thể bằng bất kỳ phương tiện nào có được đường dẫn C: \ Program Files (x86) thay vì C: \ Program Files không? –

+1

Không cần thêm "x86" vào hệ thống 32 bit. Nếu bạn muốn có được đường dẫn x86 ngay cả khi chạy một ứng dụng 64 bit trên hệ thống 64 bit, hãy yêu cầu Environment.SpecialFolder.ProgramFilesX86 thay thế. – Mario

+1

Điều đó không hoàn toàn đúng - nó phụ thuộc vào độ bit của quá trình ... 'SpecialFolder.ProgramFiles' trong phiên bản x86 trên hệ điều hành x64 cung cấp cho bạn * C: \ Program Files (x86) * –

3

Vâng Tôi đang chạy Windows 7 Ultimate 32 bit vì vậy tôi muốn biết chắc chắn những gì đã trở lại, vì vậy tôi đặt này vào một ứng dụng giao diện điều khiển để xem những gì được trả lại

Console.WriteLine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)); 

Và nó trở C: \ Program Files

8

nó không có vấn đề gì nó trả về. Hoặc giá trị sẽ ánh xạ tới cùng một thư mục, ảo hóa hệ thống tệp sẽ luôn ánh xạ tới (x86) cho ứng dụng 32 bit.

+0

+1: Hữu ích khi biết – cjk

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