ฉันจะเรียกใช้ Metro-Application จาก command-line ใน Windows 8 ได้อย่างไร


20

ฉันกำลังพัฒนาระบบอัตโนมัติและหนึ่งในคุณสมบัติของมันคือการใช้งานแอพพลิเคชั่นจากบรรทัดคำสั่ง

ใน Windows 7 ฉันสามารถเรียกใช้ทุกสิ่งที่ฉันต้องการจากการโทรบรรทัดคำสั่งมีวิธีการคล้ายกันที่จะทำเช่นเดียวกันกับ Windows 8 ที่ติดตั้ง Metro-apps ไว้ด้วยหรือไม่


ใน Windows 8 คือมีบรรทัดคำสั่ง?
เอียนบอยด์

1
ใช่เพียงพิมพ์ cmd บนอินเทอร์เฟซเมโทรและเรียกใช้งาน
Diogo

คุณใช้ VS หรือไม่
soandos

2
FWIW คุณอาจต้องการมุ่งเน้นไปที่ Powershell แทน แพ็คเกจ AppX มีหลาย cmdlets สำหรับการจัดการแอพ Metro (ดูGet-Help Appxรายละเอียด) แต่ฉันไม่พบอะไรเลยในการใช้งานแอพนี้
Indrek

1
จากความรู้ของฉันคุณไม่สามารถเรียกใช้แอพ Metro จากบรรทัดคำสั่ง ฉันหวังว่าจะมีคนรู้จักแฮ็ค / โซลูชั่น
Corporate Geek

คำตอบ:


12

ใช่ ฉันพบวิธี ...

ตามซอร์สโค้ดนี้ ("เปิดแอพ Metro Style จากเดสก์ท็อปแอพ") ฉันรู้ว่าฉันสามารถเรียกแอพพลิเคชั่นรถไฟใต้ดินเหมือนที่เรามักจะทำงานด้วยตนเอง ฉันหมายความว่าถ้าคุณกดCtrl+ Escและไปที่หน้าจอของรถไฟใต้ดินคุณสามารถพิมพ์ชื่อของแอพ Metro เช่น "store" ตัวอย่างเช่นกดEnterและนั่นคือแอป metro กำลังทำงานอยู่ จากสิ่งนี้ฉันได้สร้าง VBScript อย่างง่าย ๆ เพื่อทำตามขั้นตอนเหล่านี้โดยอัตโนมัติ

ตั้งค่า objShell = WScript.CreateObject ("WScript.Shell")

objShell.SendKeys "^ {ESC}"

WScript.Sleep 1000

objShell.SendKeys WScript.Arguments.Item (0)

WScript.Sleep 1000

objShell.SendKeys "{ENTER}"

บันทึกสิ่งนี้เป็น "metro.vbs" และเรียกมันจากบรรทัดคำสั่งด้วยชื่อของแอพ metro ในอาร์กิวเมนต์แรก:

ร้านค้า metro.vbs

นั่นคือวิธีที่ง่ายและปรับให้เหมาะสมที่สุด

PS: เครดิตทั้งหมดมอบให้แก่AlKhuzaeiผู้ใช้ไซต์ Codeplex ที่สร้างรหัสที่เกี่ยวข้อง ขอขอบคุณ.


อาฉันสงสัยในสิ่งเดียวกัน ทางออกที่น่าสนใจ ปัญหาเดียวคือถ้าคุณมีสองโปรแกรมที่มีชื่อเหมือนกันเช่นติดตั้ง Evernote ทั้งรุ่น Metro และเดสก์ท็อป ซึ่งได้รับการเปิดตัวด้วยข้างต้น ควรมีวิธีอื่นเนื่องจาก Visual Studio สามารถเปิดแอปพลิเคชันที่คุณกำลังพัฒนา
Jim McKeeth

ฉันคิดว่าเพราะ ctrl + esc มันจะเปิดเฉพาะแอพเมโทร ... มันเป็นสิ่งที่จะทดสอบ
Diogo

ไม่ได้ลองเลย [Ctrl] + [Esc] เหมือนกับ [Win] และทั้งคู่ก็แสดงเมนู Startซึ่งสามารถเปิดใช้งานโปรแกรมใด ๆ ที่นั่นทั้ง Metro และ Desktop
Jim McKeeth

ดังนั้น Windows 8 จะทำอย่างไรเมื่อสองแอพและสถานีรถไฟใต้ดินมีชื่อเหมือนกัน ??? มันจะกลายเป็นสิ่งที่ซ้ำกันบนอินเตอร์เฟซรถไฟใต้ดิน?
Diogo

ใช่มันน่ารำคาญจริงๆ ฉันถอนการติดตั้ง Evernote เวอร์ชัน Metro ด้วยเหตุผลดังกล่าวอย่างแม่นยำ
Jim McKeeth

6

โพสต์บล็อกและรหัสสนับสนุนต่อไปนี้แสดงวิธีการใช้ IApplicationActivationManager ใน PowerShell

รับรายการแอพพลิเคชั่นรถไฟใต้ดินและเปิดใช้งานใน Windows 8 โดยใช้ PowerShell « Land of IT ของ Tome

โชคดีที่ฉันสามารถค้นหาโค้ดบางส่วนในStack Overflowที่แสดงวิธีใช้ใน C # (โพสต์ยังแสดงข้อมูลรีจิสทรีที่ฉันจะอธิบายในบทความนี้) หลังจากปรับแต่งโค้ดและไวยากรณ์ของ Add-Type ฉันสามารถแสดงฟังก์ชั่นที่ฉันต้องการใน PowerShell ได้ หลังจากนั้นมันเป็นเพียงเรื่องของการห่อฟังก์ชั่นเป็นสิ่งที่คล้ายกับ PowerShell

รหัสสามารถพบได้บนposhcode


ยินดีต้อนรับสู่ Super User, Tome! เราต้องการคำตอบที่มีอยู่ในตัวเองดังนั้นจึงไม่ต้องพึ่งพาทรัพยากรภายนอกมากเกินไป ฉันอ้างถึงส่วนที่เกี่ยวข้องที่สุดของโพสต์บล็อกของคุณ แต่คุณสามารถแก้ไขได้มากขึ้นรวมถึงการแก้ไขปัญหาที่แน่นอนของ OP
slhck

ข้อมูลเด็ดมากที่นี่!
Ben Richards

5

ผมแค่คิดหาวิธีที่จะทำมันอีกและเขียนขึ้นอย่างรวดเร็วในบทความได้ที่http://www.itsjustwhatever.com/2012/10/28/launch-windows-8-metro-apps-from-a-desktop- ทางลัดหรือบรรทัดคำสั่ง /

รุ่นสั้น: สร้างทางลัดที่ชี้ไปที่ bingnews: // คุณสามารถดูว่ามันทำในสิ่งที่คุณต้องการหรือไม่ ถ้ามีคำแนะนำเพิ่มเติมเพื่อรับชื่อในเว็บไซต์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.