@ swisston, если вы запускаете консольное приложение из другого собственного приложения, то я хочу порекомендовать вам «именованные объекты ядра».Например мьютекс.Вы можете создать именованный мьютекс в своем родительском приложении.Затем в основном потоке вашего дочернего консольного приложения попробуйте открыть этот мьютекс.Если мьютекс не открыт (не найден): консольное приложение не имеет разрешений для продолжения и должно быть закрыто;) подождите, я сделаю для вас код;)
Редактировать: Так что это очень простая тактика.В родительском приложении создайте свой именованный мьютекс:
Mutex mutex = new Mutex(true, "MyPermissions");
Затем в своем дочернем консольном приложении проверьте, существует ли ваш мьютекс:
static bool CheckPermissions()
{
try
{
Mutex mutex = Mutex.OpenExisting("MyPermissions");
}
catch (Exception ex)
{
return false;
}
return true;
}
Если ваше консольное приложение было запущено без родительского приложения, метод CheckPermissionsвернет false и консоль должна быть закрыта;)