Re[8]: Возможно ли синхронизовать процессы используя имя исполняемого файла?
От: karbofos42 Россия  
Дата: 16.02.22 13:08
Оценка: 10 (1)
Здравствуйте, vaa, Вы писали:

vaa>еще косяк через процессы, то что путь к исполняемому файлу из дотнета получить сложно. а ведь прога может быть запущена из разных каталогов.

vaa>в мьютекс можно путь добавлять.

Вроде там то же самое, что и в голом WinAPI. Сложность в том, что у пользователя может не быть прав на получение этой информации.
Если все админы, то спокойно через класс Process и получишь путь к файлу, а если рядовой урезанный в правах пользователь, то он просто не узнает что там другой пользователь и откуда запустил.
Re[9]: Возможно ли синхронизовать процессы используя имя исполняемого файла?
От: vaa https://www.youtube.com/playlist?list=PLtrvASfI1KW7VOYRKjglcagQzWLoxlncl
Дата: 17.02.22 03:34
Оценка:
Здравствуйте, karbofos42, Вы писали:


K>Вроде там то же самое, что и в голом WinAPI. Сложность в том, что у пользователя может не быть прав на получение этой информации.

K>Если все админы, то спокойно через класс Process и получишь путь к файлу, а если рядовой урезанный в правах пользователь, то он просто не узнает что там другой пользователь и откуда запустил.

Точно(я туп), но есть нюанс:

it.MainModule.FileName;;
System.ComponentModel.Win32Exception (0x80004005): 32-разрядные процессы не могут получить доступ к 64-разрядному процессу.
Re: Возможно ли синхронизовать процессы используя имя исполняемо
От: VladCore  
Дата: 24.02.22 08:07
Оценка:
Здравствуйте, MaLS, Вы писали:

Ты в теме спрашиваеш как синхронизировать процессы (сложно) а в теле и каментах спршиваеш про простое — как заблокировать.

Когда нужно сложно есть есть еще ивент StartupNextInstance


То что в имени сборки VisualBasic пусть не вводит в заблуждение. Он в С# работает и умеет более сложные вещи. Начиная от переклбючится в первый процесс и заканчивая обработаь в первом процессе параметры командной строки повторого запуска.
Re: Возможно ли синхронизовать процессы используя имя исполн
От: hardcase Пират http://nemerle.org
Дата: 04.04.22 08:42
Оценка: +1
Здравствуйте, MaLS, Вы писали:

MLS>Для программы есть требование, что в рамках одного запущенного Windows должен запускаться только один процесс exe файла. В результате исследования кода выяснилось, что это требование реализуется выше представленным алгоритмом. И теперь требуется дать обоснование, что данный код полностью реализует это требование.


Приведённая проверка тривиально обходится переименовыванием exe-шника: можно запустить произвольное количество экземпляров процесса. Решение с "Global\" мутексом будет надёжнее.
http://nemerle.org/Banners/?t=Developer!&g=dark /* иЗвиНите зА неРовнЫй поЧерК */
Отредактировано 04.04.2022 8:42 hardcase . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.