¿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