Задать вопрос
@deadspace12

Как узнать дескриптор запускаемой программы?

Как узнать дескриптор запускаемой программы? По заданию я пытаюсь создать мьютекс и в случае успешной синхронизации он запишет данные в файл. После запуска он ругается на строку открытия мьютекса и пишет, что данный дескриптор не существует помогите плиз с проблемой. Вот сам код, который реализовал я:
static void Main(string[] args)
        {
            IntPtr handle = Process.GetCurrentProcess().MainWindowHandle;
            Console.WriteLine(handle);
            Mutex mut = Mutex.OpenExisting(handle.ToString());
            Random md = new Random();
            for (int i = 0; i < 100000; i++)
            {
                mut.WaitOne();
                StreamWriter sw = new StreamWriter(@"F:\CПО\6лб\ConsoleApp7\1.txt", true);
                int j = md.Next(100000);
                sw.WriteLine(j);
                Console.WriteLine("Записано {0}", j);
                sw.Close();
                mut.ReleaseMutex();
                Thread.Sleep(100);
            }
        }
  • Вопрос задан
  • 82 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
Adler_lug
@Adler_lug
Не сильно знаком с Mutex, но что-то мне подсказывает из первого попавшегося примера, что вам нужно использовать new Mutex(true, handle.ToString()) вместо Mutex.OpenExisting(handle.ToString()).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы