Bagaimana cara menjalankan Aplikasi Metro dari baris perintah di Windows 8?

20

Saya sedang mengembangkan sistem otomasi dan salah satu fiturnya menjalankan aplikasi dari baris perintah (maksud saya, secara otomatis tanpa campur tangan manusia).

Pada Windows 7 saya bisa menjalankan semua yang saya inginkan dari panggilan baris perintah, ada beberapa cara serupa untuk melakukan hal yang sama dengan Windows 8 dengan juga aplikasi Metro yang diinstal di sana?

Diogo
sumber
Di Windows 8, apakah ada baris perintah?
Ian Boyd
1
ya, cukup ketik cmd pada antarmuka metro dan jalankan.
Diogo
Apakah Anda menggunakan VS?
soandos
2
FWIW, Anda mungkin ingin fokus pada Powershell sebagai gantinya. Paket AppX mencakup beberapa cmdlet untuk mengelola aplikasi Metro (lihat Get-Help Appxdetailnya), meskipun saya tidak dapat menemukan apa pun untuk menjalankannya saat ini.
Indrek
1
Dari pengetahuan saya, Anda tidak dapat menjalankan aplikasi Metro dari baris perintah. Saya harap ada yang tahu beberapa hack / solusi.
Corporate Geek

Jawaban:

12

Ya! Saya menemukan cara ...

Berdasarkan kode sumber ini ("Buka Aplikasi Metro Style dari Desktop App"), saya menyadari bahwa saya dapat memanggil aplikasi metro seperti biasanya kami jalankan secara manual. Maksud saya, jika Anda menekan Ctrl+ Escdan pergi ke layar metro, Anda cukup mengetik nama aplikasi metro, seperti "toko" misalnya, tekan Enterdan hanya itu, aplikasi metro sedang berjalan. Berdasarkan ini saya membuat VBScript yang sangat sederhana untuk melakukan langkah-langkah ini secara otomatis:

Setel objShell = WScript.CreateObject ("WScript.Shell")

objShell.SendKeys "^ {ESC}"

WScript. Tidur 1000

objShell.SendKeys WScript.Arguments.Item (0)

WScript. Tidur 1000

objShell.SendKeys "{ENTER}"

Simpan ini sebagai "metro.vbs" dan panggil dari baris perintah dengan nama aplikasi metro pada argumen pertama:

toko metro.vbs

Itu dia, cara yang sangat sederhana dan dioptimalkan.

PS: Semua kredit diberikan kepada AlKhuzaei , pengguna situs Codeplex yang membuat kode terkait. Terima kasih.

Diogo
sumber
Ah, saya bertanya-tanya hal yang sama. Solusi menarik. Satu-satunya masalah adalah jika Anda memiliki dua program dengan nama yang sama, seperti Metro dan desktop versi Evernote yang diinstal. Yang diluncurkan dengan yang di atas ?? Seharusnya ada cara lain karena Visual Studio dapat meluncurkan aplikasi yang Anda kembangkan.
Jim McKeeth
Saya pikir karena ctrl + esc, itu hanya akan membuka aplikasi metro ... Ini adalah sesuatu yang akan menguji.
Diogo
Tidak, baru saja mencobanya. [Ctrl] + [Esc] sama dengan [Menang], dan keduanya hanya menampilkan Menu Mulai , yang memungkinkan meluncurkan program apa pun di sana - Metro dan Desktop.
Jim McKeeth
Jadi, apa yang Windows 8 lakukan ketika dua aplikasi metro dan desk memiliki nama yang sama ??? Itu menjadi duplikat di antarmuka metro?
Diogo
Ya, itu sangat menjengkelkan. Saya menghapus instalan versi Metro dari Evernote karena alasan itu.
Jim McKeeth
6

Posting blog berikut dan kode pendukung menunjukkan kepada Anda bagaimana melakukan ini dengan IApplicationActivationManager di PowerShell.

Dapatkan daftar aplikasi metro dan luncurkan di Windows 8 menggunakan PowerShell «Tome's Land of IT

Untungnya, saya dapat menemukan beberapa kode pada Stack Overflow yang menunjukkan cara menggunakan ini di C # (posting juga mencantumkan informasi registri yang akan saya jelaskan dalam artikel ini). Setelah beberapa tweaker kode dan sintaks Add-Type, saya dapat mengekspos fungsi yang saya butuhkan ke PowerShell. Setelah itu hanya tinggal membungkus fungsi menjadi sesuatu yang menyerupai PowerShell.

Kode dapat ditemukan pada kode pos .

Tome Tanasovski
sumber
Selamat datang di Pengguna Super, Tome! Kami ingin jawaban mandiri, sehingga tidak terlalu mengandalkan sumber daya eksternal. Saya mengutip bagian yang paling relevan dari posting blog Anda, tetapi Anda bebas mengedit lebih banyak lagi, juga berkaitan dengan penyelesaian masalah OP yang sebenarnya.
slhck
Informasi yang sangat keren, di sini!
Ben Richards