【修改】判断本地判分是否已经运行
This commit is contained in:
@@ -72,7 +72,7 @@ class Program
|
|||||||
UseShellExecute = true // 或 false,根据需要
|
UseShellExecute = true // 或 false,根据需要
|
||||||
};
|
};
|
||||||
// 检测一下端口是否被占用48080
|
// 检测一下端口是否被占用48080
|
||||||
if (!IsPortInUse(48082))
|
if (!IsPortInUse("judgement"))
|
||||||
{
|
{
|
||||||
Process.Start(startInfo);
|
Process.Start(startInfo);
|
||||||
}
|
}
|
||||||
@@ -516,19 +516,29 @@ class Program
|
|||||||
list.Add(sql.Substring(start));
|
list.Add(sql.Substring(start));
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
public static bool IsPortInUse(int port)
|
public static bool IsPortInUse(string name)
|
||||||
{
|
{
|
||||||
IPGlobalProperties ipGlobalProperties = IPGlobalProperties.GetIPGlobalProperties();
|
foreach (var proc in Process.GetProcesses())
|
||||||
TcpConnectionInformation[] tcpConnInfoArray = ipGlobalProperties.GetActiveTcpConnections();
|
|
||||||
|
|
||||||
foreach (TcpConnectionInformation tcpi in tcpConnInfoArray)
|
|
||||||
{
|
{
|
||||||
if (tcpi.LocalEndPoint.Port == port)
|
try
|
||||||
{
|
{
|
||||||
return true; // 端口被占用
|
// 主窗口句柄不为 0,表示是一个窗口程序(用户级应用)
|
||||||
|
if (proc.SessionId != 0 &&
|
||||||
|
proc.Responding)
|
||||||
|
{
|
||||||
|
if (proc.ProcessName.Contains(name))
|
||||||
|
{
|
||||||
|
var procs = Process.GetProcessById(proc.Id);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
// 一些系统进程可能抛异常,忽略
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false; // 端口可用
|
return false; // 端口可用
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user