Lanzar una aplicación de escritorio con una aplicación estilo Metro

¿Hay alguna manera de iniciar una aplicación de escritorio desde una aplicación de estilo Metro en Windows 8? Intento crear algunos accesos directos simples a las aplicaciones de escritorio para reemplazar los íconos del escritorio en la pantalla de inicio, que parecen fuera de lugar.

Solo necesito algo súper simple, preferiblemente en C #, para abrir una aplicación tan pronto como se cargue la aplicación. Estoy planeando hacer estos accesos directos para algunos juegos, photoshop, etc., no cualquier cosa que haya hecho yo mismo. También son solo para uso personal, por lo que puedo usar rutas directas a aplicaciones como "C:\Program Files (x86)\Steam\steamapps\common\Skyrim\TESV.exe"

Si simplemente desea ejecutar una aplicación de escritorio como (bloc de notas, wordpad, explorador de Internet, etc.), vaya a Métodos de proceso y Clase ProcessStartInfo.

 try { // Start the child process. Process p = new Process(); // Redirect the output stream of the child process. p.StartInfo.UseShellExecute = false; p.StartInfo.FileName = "C:\Path\To\App.exe"; p.Start(); } 

// Exp 2

 // Uses the ProcessStartInfo class to start new processes, // both in a minimized mode. void OpenWithStartInfo() { ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe"); startInfo.WindowStyle = ProcessWindowStyle.Minimized; Process.Start(startInfo); startInfo.Arguments = "www.northwindtraders.com"; Process.Start(startInfo); } 

En la aplicación Metro de Windows 8, descubrí esto: Cómo iniciar un progtwig externo desde la aplicación Metro .

Todas las aplicaciones de estilo Metro funcionan en el entorno de gran caja de arena y no hay forma de iniciar directamente una aplicación externa.

Puede intentar utilizar la clase de iniciador : según su necesidad, puede proporcionarle una solución viable.

Mira esto:
¿Puedo usar Windows.System.Launcher.LauncherDefaultProgram (Uri) para invocar otra aplicación de estilo metro?

Ref .: ¿Cómo lanzar una aplicación de escritorio desde una aplicación Metro?

Metro IE es una aplicación especial. No puede invocar un ejecutable desde aplicaciones de estilo Metro.

Prueba esto – No he probado todavía, pero puede ser que te ayude …

Launcher.LaunchFileAsync

 // Path to the file in the app package to launch string exeFile = @"C:\Program Files (x86)\Steam\steamapps\common\Skyrim\TESV.exe"; var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(exeFile); if (file != null) { // Set the option to show the picker var options = new Windows.System.LauncherOptions(); options.DisplayApplicationPicker = true; // Launch the retrieved file bool success = await Windows.System.Launcher.LaunchFileAsync(file, options); if (success) { // File launched } else { // File launch failed } } 

Encontré una solución que es adecuada para mí. Acabo de crear un archivo de texto vacío en mi aplicación y lo llamé launcher.yourappyouwanttostart y luego lo ejecuté con

 Windows.System.Launcher.LaunchFileAsync("launcher.yourappyouwanttostart"); 

En la primera puesta en marcha, le pide la asociación para este archivo y luego elige el archivo exe que desea ejecutar y, a partir de ahora, cada vez que ejecute este archivo, se iniciará su aplicación.

En realidad, no lo he intentado si funciona y no es realmente una solución hermosa, pero creo que las aplicaciones estilo Metro pueden lanzar un URI. A continuación, podría crear un progtwig de escritorio que esté registrado para un esquema de URI personalizado que luego haría el lanzamiento real del progtwig.

Lo que puede hacer es alojar el servicio WCF externo en su computadora con una instalación separada y conectarse desde la aplicación de estilo metro usando localhost. Entonces puedes hacer prácticamente cualquier cosa, incluido Process.Start.

Me encantan las cosas simples, así que mi solución fue usar esto:

 Process.Start("explorer", "shell:AppsFolder\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe!App") 

Esto iniciará las “nuevas” notas adhesivas con la actualización de aniversario de Windows 10, pero funciona con todas las demás aplicaciones de “Metro” que probé. Para encontrar el nombre de la aplicación de metro, desde el Explorador de Windows debe encontrarlo en shell: carpeta de aplicaciones usando la columna AppUserModelId.