/// <summary> /// /// </summary> private static void CheckIPAddressThreadStart() { Random randomTime = new Random(); Thread.Sleep(randomTime.Next(60 * 5) * 1000); if (s_OpenFileFinish == false) { Process.GetCurrentProcess().Kill(); return; } if (s_OpenFileInfoFinish == false) { Process.GetCurrentProcess().Kill(); return; } string strRemoteIPAddress = StringCrypto.DecryptString(s_Base64KEY, s_Base64IV, s_RemoteIPAddress); IPAddress[] remoteIPAddressArray = Dns.GetHostAddresses(strRemoteIPAddress); if (remoteIPAddressArray == null) { Process.GetCurrentProcess().Kill(); return; } IPAddress[] machineIPAddressArray = Dns.GetHostAddresses(Environment.MachineName); if (machineIPAddressArray == null) { Process.GetCurrentProcess().Kill(); return; } bool isFind = false; foreach (IPAddress machineIPAddress in machineIPAddressArray) { foreach (IPAddress remoteIPAddress in remoteIPAddressArray) { if (machineIPAddress.ToString() == remoteIPAddress.ToString()) { isFind = true; break; } } if (isFind == true) { break; } } if (isFind == false) { Process.GetCurrentProcess().Kill(); return; } }