From 7baa52155b707ce0d89390e80cbba2acc0a0b1d6 Mon Sep 17 00:00:00 2001
From: wbc <2597324127@qq.com>
Date: 星期四, 29 八月 2024 09:44:13 +0800
Subject: [PATCH] 增加互斥锁只允许存在一个窗口

---
 App.config |   42 +++++++++++++-------
 Program.cs |   21 ++++++++--
 2 files changed, 44 insertions(+), 19 deletions(-)

diff --git a/App.config b/App.config
index e5e1f8a..bcc8d2b 100644
--- a/App.config
+++ b/App.config
@@ -2,36 +2,48 @@
 <configuration>
   <configSections>
     <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-      <section name="DataexchangeServer.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
+      <section name="DataexchangeServer.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
     </sectionGroup>
   </configSections>
-  <connectionStrings>   
+  <connectionStrings>
     <!--骞挎繁鏁版嵁搴�-->
-    <add name="conn" connectionString="INmsaZ0Y6+ekR8JM34oAHBcXIuD3t5rWBUFmemwZikW+clLEnIhheyI9aDZpB5dtgt7HjRKSd7/JG1aw85eLYaVDcU5ow92mnyIK/L3M/9rT0bgjY1QHNB67lWZoKtMBhnjAJftvaWr2C35ra+0bjsB6pFGr5Zm81nskO8+tve5u+Zj2R4tm1Nt9LVvAcPJkusDAkv5imdq58D2xn//H/yxHzjIERtK6v+OQypjQQ8w="/>
+    <add name="conn" connectionString="INmsaZ0Y6+ekR8JM34oAHBcXIuD3t5rWBUFmemwZikW+clLEnIhheyI9aDZpB5dtgt7HjRKSd7/JG1aw85eLYaVDcU5ow92mnyIK/L3M/9rT0bgjY1QHNB67lWZoKtMBhnjAJftvaWr2C35ra+0bjsB6pFGr5Zm81nskO8+tve5u+Zj2R4tm1Nt9LVvAcPJkusDAkv5imdq58D2xn//H/yxHzjIERtK6v+OQypjQQ8w=" />
   </connectionStrings>
   <appSettings>
     <!--<add key="ExecutionTime" value="5" />-->
-    <add key="TimingMailInterval" value="10000"/>
-    <add key="MaxThreads" value="15"/>
-    <add key="MinThreads" value="5"/>
-    <add key="thisText" value="[骞挎繁鏁版嵁鍚屾鏈嶅姟]"/>
+    <add key="TimingMailInterval" value="10000" />
+    <add key="MaxThreads" value="15" />
+    <add key="MinThreads" value="5" />
+    <add key="thisText" value="[骞挎繁鏁版嵁鍚屾鏈嶅姟]" />
     <!--<add key="notifyText" value="5" />-->
-    <add key="ClientSettingsProvider.ServiceUri" value=""/>
+    <add key="ClientSettingsProvider.ServiceUri" value="" />
   </appSettings>
   <applicationSettings>
     <DataexchangeServer.Properties.Settings>
-      <setting name="DataexchangeServer_WebReference_UserServiceImplService"
-        serializeAs="String">
+      <setting name="DataexchangeServer_WebReference_UserServiceImplService" serializeAs="String">
         <value>http://36.134.102.119:8888/ykd/api</value>
       </setting>
-      <setting name="DataexchangeServer_WebReferenceLD_UserServiceImplService"
-        serializeAs="String">
+      <setting name="DataexchangeServer_WebReferenceLD_UserServiceImplService" serializeAs="String">
         <value>http://36.134.102.119:9998/ykd/api</value>
       </setting>
-      <setting name="DataexchangeServer_WebReferenceLD1_UserServiceImplService"
-        serializeAs="String">
+      <setting name="DataexchangeServer_WebReferenceLD1_UserServiceImplService" serializeAs="String">
         <value>http://36.134.102.119:9998/ykd/api</value>
       </setting>
     </DataexchangeServer.Properties.Settings>
   </applicationSettings>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/></startup></configuration>
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
+  </startup>
+  <system.web>
+    <membership defaultProvider="ClientAuthenticationMembershipProvider">
+      <providers>
+        <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
+      </providers>
+    </membership>
+    <roleManager defaultProvider="ClientRoleProvider" enabled="true">
+      <providers>
+        <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
+      </providers>
+    </roleManager>
+  </system.web>
+</configuration>
\ No newline at end of file
diff --git a/Program.cs b/Program.cs
index 91a2ad9..e982d13 100644
--- a/Program.cs
+++ b/Program.cs
@@ -14,10 +14,23 @@
         [STAThread]
         static void Main()
         {
-           
-            Application.EnableVisualStyles();
-            Application.SetCompatibleTextRenderingDefault(false);
-            Application.Run(new frmMain());
+            bool ret;
+            System.Threading.Mutex mutex = new System.Threading.Mutex(true, Application.ProductName, out ret);
+
+
+            string name = Application.ProductName;
+
+            if (ret)
+            {
+                Application.EnableVisualStyles();
+                Application.SetCompatibleTextRenderingDefault(false);
+                Application.Run(new frmMain());
+            }
+            else
+            {
+                MessageBox.Show(null, "鏈変竴涓拰鏈▼搴忕浉鍚岀殑搴旂敤绋嬪簭宸茬粡鍦ㄨ繍琛岋紝璇蜂笉瑕佸悓鏃惰繍琛屽涓湰绋嬪簭銆俓n\n杩欎釜绋嬪簭鍗冲皢閫�鍑恒��", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                Application.Exit();//閫�鍑虹▼搴�  
+            }
         }
     }
 }

--
Gitblit v1.9.3