Metro Uygulamasını Windows 8'deki komut satırından nasıl çalıştırabilirim?


20

Bir otomasyon sistemi geliştiriyorum ve özelliklerinden biri komut satırından uygulamalar çalıştırıyor (yani insan müdahalesi olmadan otomatik olarak).

Windows 7'de, istediğim her şeyi bir komut satırı çağrısından çalıştırabilirim, Windows 8 ile aynı işlemi yapmanın Metro uygulamaları ile aynı şekilde yapmasının bir yolu var mı?


Windows 8'de, olan bir komut satırı var?
Ian Boyd

1
evet, sadece metro arayüzüne cmd yazın ve çalıştırın.
Diogo

VS kullanıyor musunuz?
soandos

2
FWIW, bunun yerine Powershell'e odaklanmak isteyebilirsiniz. AppX paketi Metro uygulamalarını yönetmek için birkaç cmdlet içeriyor ( Get-Help Appxayrıntılar için bakınız), ancak şu anda çalıştırmak için hiçbir şey bulamadım.
Indrek

1
Bildiğim kadarıyla Metro uygulamalarını komut satırından çalıştıramazsınız. Umarım birileri bazı kesmek / çözümler biliyordur.
Kurumsal Geek

Yanıtlar:


12

Evet! Bir yol buldum...

Bu kaynak koduna dayanarak ("Masaüstü Uygulamasından Bir Metro Stili Uygulamasını Açın"), genellikle manuel olarak çalıştığımız gibi metro uygulamalarını arayabileceğimi fark ettim. Yani, Ctrl+ tuşuna basıp Escmetro ekranına giderseniz, örneğin "mağaza" gibi metro uygulamasının adını yazabilirsiniz, basın Enterve işte bu, metro uygulaması çalışıyor. Buna dayanarak tam olarak bu adımları otomatik olarak gerçekleştirmek için çok basit bir VBScript oluşturdum:

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

objShell.SendKeys "^ {ESC}"

WScript.Sleep 1000

objShell.SendKeys WScript.Arguments.Item (0)

WScript.Sleep 1000

objShell.SendKeys "{ENTER}"

Bunu "metro.vbs" olarak kaydedin ve ilk argümanda metro uygulamasının adıyla birlikte komut satırından çağırın:

metro.vbs mağazası

İşte bu, çok basit ve optimize edilmiş bir yol.

Not: Tüm krediler , ilgili kodu oluşturan Codeplex sitesi kullanıcısı AlKhuzaei'ye verildi . Teşekkür ederim.


Ah, ben de aynı şeyi merak ediyordum. İlginç bir çözüm. Tek sorun, Evernote'un hem Metro hem de masaüstü sürümleri gibi aynı ada sahip iki programınız olması. Hangi yukarıdakilerle lanse edilir ?? Visual Studio, geliştirdiğiniz uygulamayı başlatabildiğinden başka bir yol daha olmalı.
Jim McKeeth

Ctrl + esc olduğu için sadece metro uygulamasını açacağını düşünüyorum ... Teste uygun bir şey.
Diogo

Hayır, sadece denedim. [Ctrl] + [Esc], [Win] ile aynıdır ve her ikisi de orada sadece herhangi bir programın başlatılmasına izin veren Başlat Menüsünü gösterir - Metro ve Masaüstü.
Jim McKeeth

Peki, iki uygulama metro ve masanın adı aynı olduğunda Windows 8 ne yapar ??? Metro arayüzünde çoğaltıldı mı?
Diogo

Evet, gerçekten can sıkıcı bir durum. Tam da bu nedenle Evernote'un Metro sürümünü kaldırdım.
Jim McKeeth

6

Aşağıdaki blog yazısı ve destekleyici kod, bunu PowerShell'deki IApplicationActivationManager ile nasıl yapacağınızı gösterir.

Metro uygulamalarının bir listesini alın ve bunları PowerShell «Tome's Land of IT kullanarak Windows 8'de başlatın

Neyse ki, C # 'da bunun nasıl kullanılacağını gösteren Yığın Taşması üzerine bir kod bulabildim (bu yazıda da açıklayacağım kayıt defteri bilgileri de listelenmiştir). Bazı kod ve Add-Type sözdizimini ayarladıktan sonra, ihtiyaç duyduğum işlevi PowerShell'de gösterebildim. Ondan sonra, sadece fonksiyonu PowerShell'e benzeyen bir şeye sarma meselesiydi.

Kod bulunabilir poshcode .


Süper Kullanana Hoşgeldiniz, Tome! Cevapların kendi içinde yer almasını istiyoruz, bu nedenle dış kaynaklara çok fazla güvenmiyoruz. Blog postanızın en alakalı bölümlerinden alıntı yaptım, ancak OP’nin kesin sorununu çözme konusunda da daha fazla düzenleme yapmakta özgürsünüz .
slhck

Çok güzel bilgi, burada!
Ben Richards,

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.