Microsoft didn’t make it easy to do anything with the metro style interface that comes with the new Windows 8 OS. That includes seemingly simple things like launching one of the Metro style apps from the desktop or another program. I wanted this functionality, and came up with nothing other than programming in visual studio, which I am incapable
of. Well, after digging around in the registry, I came up with a solution.
So, how does this work you ask? Simple, Microsoft DOES allow you to call a metro app using a protocol. If you have windows 8 installed click this link to the news app (only works with IE10 at the moment, but its not needed to run from the command line) to see what I mean. It will open the Windows 8 news app and search for Windows 8 News. Pretty neat huh? Unfortunately this sounds easier to do than it is. That’s because there is no standard naming to call a specific app and you will have to search the registry to find it.
So, we’ll use the news app for the example and then I’ll show you how to call whichever app you want.
- Open a new tab in your browser.
- put bingnews://search/?q=”Whatever you want to search for” in the address bar.
Simple right? bingnews:// will open up the app to the default page and you can have it search automatically with the search term.
Now, to put that into a shortcut,
- right click on the desktop
- select New > Shortcut
- enter bingnews:// where it asks for the location and press next
- Enter the name you want displayed in your shortcut and press finish.
Below is the old way to get the app names. I found a new way which is much easier and is posted about in my article Metro App Names, The Easy Way. And of course, not all apps can be launched this way so if you have one of those you want to launch then you can use MetroLauncher type 2.
The Old Way
Now for the pain in the butt part, getting the names to launch your apps. Make sure you don’t accidentally change anything in the registry as it can mess up your computer.
- Press the windows key and x to pull up the new admin menu
- Choose run
- type in regedit and press enter
- Open the HKEY_CURRENT_USER
- Then >Software > Classes > Extensions > Contractld > Windows.Protocol >Packageld >
- You should find a list of many of the installed apps here. To get the name, open the folder structure you want until you get to CustomProperties.
- In that folder you should see a registry entry on the right side of the screen that says Name and then to the right of that is the particular name you would use.
If you don’t find your app in that location then:
- Open HKEY_CURRENT_USER
- then >Software>Classes
- This folder will have MUCH more stuff that is not useful, but you may find the app you want here. You will be looking for a default key with a setting of URL:”appname”
Now, this is not all rosey for the command line users. Since you are not opening an app directly, there will be no easy way to monitor the app. For example, one of the reasons I wanted this functionality was to launch the Netflix app from XBMC or media center. It will launch it fine, but there will be no way to automatically go back to XBMC when your done with Netflix. When I find a better way to do this ill be posing here! Or if anyone knows of a better way, please leave a comment!
Here’s a list of some apps to get you started if you need them. They should be pretty self explanatory. You can also try adding the search term after them “search/?q=what you want to search for” but I found it only works for a few apps. Also, if you go searching for names, leave the ones you find in the comments and i’ll update this list for everyone!
Thanks to emperorxlii for pointing out that using a shortcut will take you to the browser and then ask if you want to launch the app. Command line doesn’t have this behavior. So his solution is to put explorer.exe in the shortcut, so you would have “explorer.exe bingnews://”