2008-08-30 27 views
5

Đây là tình huống: Tôi đang cố gắng để khởi chạy một ứng dụng, nhưng vị trí của .exe không được biết đến với tôi. Bây giờ, nếu phần mở rộng tập tin được đăng ký (trong Windows), tôi có thể làm một cái gì đó như:Khởi chạy một tập tin với các đối số dòng lệnh mà không biết vị trí của exe?

Process.Start("Sample.xls"); 

Tuy nhiên, tôi cũng cần phải vượt qua một số đối số dòng lệnh. Tôi không thể làm việc này để làm việc

Process p = new Process(); 
    p.StartInfo.FileName = "Sample.xls"; 
    p.StartInfo.Arguments = "/r"; // open in read-only mode 
    p.Start(); 

Bất kỳ đề xuất nào về cơ chế để giải quyết vấn đề này?

Sửa @ aku

kỹ năng tìm kiếm StackOverflow của tôi là yếu; Tôi không tìm thấy bài đăng đó. Mặc dù tôi thường không thích nhìn vào registry, đó là một giải pháp tuyệt vời. Cảm ơn!

Trả lời

4

Sử dụng mã của tôi từ this câu trả lời bạn có thể nhận lệnh được liên kết với tiện ích mở rộng xls. Sau đó, bạn có thể chuyển lệnh này đến phương thức Process.Start.

2

Nếu bạn truy vấn sổ đăng ký, bạn có thể truy xuất dữ liệu về loại tệp đã đăng ký và sau đó gọi ứng dụng trực tiếp truyền các đối số dòng lệnh. Xem Programmatically Checking and Setting File Types để biết ví dụ về truy xuất thông tin vỏ cho loại tệp.

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