C # wpf Single Real Exemple Application
En C #, l'utilisation de WPF pour créer une seule application d'instance nécessite une technologie appelée corps mutuellement exclusif. Mutual Exclusion vise à garantir qu'une seule instance d'application peut être exécutée à la fois.
Comprendre la réprimande mutuelle
corps mutuel agissant comme un chercheur qui agit comme des ressources d'application. Lorsque l'application crée une réprimande mutuelle, elle "verrouille" ces ressources pour empêcher tout autre cas de l'application d'y accéder. Ce mécanisme garantit qu'une seule instance d'application peut être effectuée en même temps.
Créez une seule instance WPF Application
Pour créer une application WPF d'instance unique, veuillez suivre les étapes ci-dessous: <.> 1. Développement d'un corps mutuel exclusif:
Dans le code d'application, déclarez un objet Mutex statique.
Le paramètre spécifie que le corps mutuellement exclusif appartient initialement à l'application. Cet identifiant garantit qu'aucune autre application ne peut utiliser le même corps mutuel.
<.> 2. Vérifiez la propriété corporelle mutuellement exclusive: true
<code class="language-csharp">static Mutex mutex = new Mutex(true, "{8F6F0AC4-B9A1-45fd-A8CF-72F04E6BDE8F}");</code>
<.> 3. Informez l'exemple existant:
WaitOne()
Si l'application n'est pas la première instance, utilisez la fonction true
pour envoyer un message personnalisé pour informer la tentative de démarrage de l'instance en cours d'exécution de la deuxième instance. false
<code class="language-csharp">if (mutex.WaitOne(TimeSpan.Zero, true)) { // 应用程序的第一个实例 } else { // 第二个实例,通知第一个实例并退出 }</code>
Dans les instances en cours, le message personnalisé est traité en réécrivant la méthode
de la fenêtre principale.
PostMessage()
<code class="language-csharp">NativeMethods.PostMessage( (IntPtr)NativeMethods.HWND_BROADCAST, NativeMethods.WM_SHOWME, IntPtr.Zero, IntPtr.Zero);</code>
Lorsque l'instance en cours d'exécution reçoit un message personnalisé, vous pouvez utiliser la méthode pour la placer sur la réception.
WndProc
En effectuant ces étapes, vous pouvez créer une seule instance WPF pour vous assurer qu'une seule instance d'application est active à la fois.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!