Avatar ·

¿Cómo crear correctamente una aplicación WPF de una sola ejecución?

¡Hola a todos! Estoy escribiendo una aplicación WPF en C# y me encontré con un problema: si el usuario ejecuta la aplicación varias veces, se abren varias ventanas, lo que genera confusión y carga innecesaria. Quiero hacer que, al ejecutarse nuevamente, la aplicación se enfoque en la ventana ya abierta o muestre un mensaje de que el programa ya está en ejecución. Intenté usar `Process.GetProcessesByName`, pero no es confiable, ya que puede haber varios procesos con el mismo nombre. Busqué en internet, pero encontré muchos enfoques diferentes: a través de `Mutex`, `EventWaitHandle`, `NamedPipe`. Soy principiante y no entiendo qué método se considera correcto y seguro. Aquí hay un ejemplo de mi código (App.xaml.cs) que estoy tratando de modificar: ```csharp public partial class App : Application { protected override void OnStartup(StartupEventArgs e) { // Aquí quiero agregar la verificación de instancia única base.OnStartup(e); } } ``` Por favor, indíquenme