Здравствуйте, vaa, Вы писали:
vaa>еще косяк через процессы, то что путь к исполняемому файлу из дотнета получить сложно. а ведь прога может быть запущена из разных каталогов. vaa>в мьютекс можно путь добавлять.
Вроде там то же самое, что и в голом WinAPI. Сложность в том, что у пользователя может не быть прав на получение этой информации.
Если все админы, то спокойно через класс Process и получишь путь к файлу, а если рядовой урезанный в правах пользователь, то он просто не узнает что там другой пользователь и откуда запустил.
Re[9]: Возможно ли синхронизовать процессы используя имя исполняемого файла?
K>Вроде там то же самое, что и в голом WinAPI. Сложность в том, что у пользователя может не быть прав на получение этой информации. K>Если все админы, то спокойно через класс Process и получишь путь к файлу, а если рядовой урезанный в правах пользователь, то он просто не узнает что там другой пользователь и откуда запустил.
Точно(я туп), но есть нюанс:
it.MainModule.FileName;;
System.ComponentModel.Win32Exception (0x80004005): 32-разрядные процессы не могут получить доступ к 64-разрядному процессу.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Возможно ли синхронизовать процессы используя имя исполняемо
То что в имени сборки VisualBasic пусть не вводит в заблуждение. Он в С# работает и умеет более сложные вещи. Начиная от переклбючится в первый процесс и заканчивая обработаь в первом процессе параметры командной строки повторого запуска.
Re: Возможно ли синхронизовать процессы используя имя исполн
Здравствуйте, MaLS, Вы писали:
MLS>Для программы есть требование, что в рамках одного запущенного Windows должен запускаться только один процесс exe файла. В результате исследования кода выяснилось, что это требование реализуется выше представленным алгоритмом. И теперь требуется дать обоснование, что данный код полностью реализует это требование.
Приведённая проверка тривиально обходится переименовыванием exe-шника: можно запустить произвольное количество экземпляров процесса. Решение с "Global\" мутексом будет надёжнее.