10

Tôi cần một cách để mở tệp trong ứng dụng Metro từ dòng lệnh.Mở một tệp trong ứng dụng Metro từ dòng lệnh

Cho đến nay tôi đã tìm ra cách để bắt đầu ứng dụng từ dòng lệnh mà không cần bất kỳ kịch bản của bên thứ ba

explorer shell:AppsFolder\Microsoft.Reader_8wekyb3d8bbwe!Microsoft.Reader 

nhưng tôi đã không thể tìm ra cách để bao gồm một tên tập tin được nêu ra.

Ra mắt

explorer shell:AppsFolder\Microsoft.Reader_8wekyb3d8bbwe!Microsoft.Reader example.pdf 

chỉ mở ra một cửa sổ mặc định thám hiểm.

Bất kỳ ý tưởng nào từ các chuyên gia Windows 8 về cách thực hiện điều này mà không cần bất kỳ công cụ/lệnh ghép ngắn nào của bên thứ ba/v.v.?

Lưu ý: Trên thực tế, tôi đang sử dụng Windows 10 nhưng tôi đoán nếu có cách Windows 8/8.1 để thực hiện, nó cũng sẽ hoạt động với 10.

Trả lời

2

Nếu ứng dụng là trình xử lý mặc định thì bạn chỉ có thể khởi chạy tệp hoặc giao thức. Không có cách nào tốt trong hộp để khởi chạy tệp vào trình xử lý không mặc định từ dòng lệnh.

Ứng dụng Windows Store không được thiết kế để chạy từ dòng lệnh và không có cách nào đơn giản để khởi chạy chúng từ dòng lệnh. Apps mà xử lý các file hoặc các giao thức cụ thể nhận được chúng thông qua FileActivatedEventArgs hoặc ProtocolActivatedEventArgs chứ không phải là đối số dòng lệnh

Bạn có thể viết một ứng dụng launcher trong đó sử dụng IApplicationActivationManager để ActivateForFile một ứng dụng cụ thể CLSID_ApplicationActivationManager của.

+0

Tôi có thể khởi chạy nó bằng cách sử dụng "đường dẫn đầu/đến/tệp.pdf", nhưng điều này sẽ mở ra một dấu nhắc lệnh trên các hệ thống cũ hơn. – Arafangion

8

Nếu bạn vẫn đang tìm câu trả lời, cách tốt nhất để mở tệp trong ứng dụng metro là sử dụng chuỗi thực thi như giao thức ứng dụng thông thường. Chuỗi thực hiện trông giống như sau:

bingnews:[arguments, can be left blank.] 
microsoftvideo:[arguments, can be left blank.] 
netflix:[arguments, can be left blank.] 

Vì vậy, để bắt đầu lên netflix, đơn giản là nhập Start netflix: vào dòng lệnh.

Để tìm chuỗi thực hiện cho một ứng dụng, hãy vào đây: Control Panel \ Programs \ Default Programs \ Set Hội


Thông tin thêm và các ví dụ có thể được tìm thấy ở đây.

http://windowsitpro.com/windows-8/opening-windows-8-apps-command-prompt-or-script

http://www.itsjustwhatever.com/2012/10/28/launch-windows-8-metro-apps-from-a-desktop-shortcut-or-command-line/


XIN LƯU Ý: Để mở một ứng dụng KHÔNG Một PROTOCOL (Người ta không được liệt kê trong registry hay dưới "Set Hội") sử dụng phương pháp OP của:

explorer shell:AppsFolder\[appuid]![appfullname]

UID ứng dụng là tên thư mục không có số phiên bản. Ví dụ:

4DF9E0F8.Netflix_ 2.11.0.8_x64 __mcm4njqhnhss8

trở thành

4DF9E0F8.Netflix_mcm4njqhnhss8

Các fullname ứng dụng là [App author].[App name] Ví dụ, 4DF9E0F8.Netflix. 4DF9E0F8 là tác giả và Netflix là tên.

Đặt nó tất cả cùng nhau để có được

explorer shell:AppsFolder\4DF9E0F8.Netflix_mcm4njqhnhss8!4DF9E0F8.Netflix

+1

Điều này gần đúng với những gì tôi muốn, ngoại trừ làm cách nào để biết ứng dụng kiểu metro có phải là mặc định hay không và do đó, để sử dụng phương pháp này? – Arafangion

+0

Để biết thêm về giao thức và ứng dụng sẽ mở bằng giao thức cụ thể, hãy mở 'Cài đặt', chọn 'Hệ thống', nhấp vào tab' Ứng dụng mặc định 'trên thanh bên và cuộn xuống cho đến khi bạn tìm thấy' Chọn ứng dụng mặc định giao thức'. –

2

cửa hàng ứng dụng chỉ có thể được bắt đầu bằng vỏ. Vì vậy hãy thử này:

explorer.exe shell:AppsFolder\Microsoft.WindowsAlarms_8wekyb3d8bbwe!App 

Hoặc từ chạy (Win + R):

shell:AppsFolder\Microsoft.WindowsAlarms_8wekyb3d8bbwe!App 
0

Không chắc chắn nếu nó hoạt động trên Windows 8, nhưng trên Windows 10 Tôi sử dụng này:

cmd /C start <app-name>: 

Ví dụ: để bắt đầu Slack:

cmd /C start slack: 
Các vấn đề liên quan