межпроцессного взаимодействия, причём один из процессов будет запущен от имени админа?
Сунулся было к QProcess но он не может запустить с админскими правами, а с TCP/IP мороки много. Нужно кроссплатформенно.
dbus? localsocket? gRpc?
Почему QProcess не может запуститься? Запускает приложение с админскими правами? Вроде ещё было shared memory
а вот шаред не факт что будет работать если разные юзеры, грубо говоря, то память разделена.
dbus же вроде только на Линь? Давненько последний раз тыкал. localsocket - геммор в плане протокола обмена gRpc - пересобирать Qt yне нужно? Попробую потыкать QSharedMemory - разве может между процессами с разными правами?
Через QProcess напрямую нельзя запустить другой процесс,но с админскими правами
локалсокет - ничего сложного, протокол сам изобрети. Можешь вообще бинарные данные швырять дбас - под виндой замечательно сущетсвует гРпс - нужно собирать (или искать собранные либы) сам гРпс, вот тут маяты порядком а про Шаред я выше замечание уже делал, не факт что будет работать, у разных юзеров разделена память
Обрати внимание на runAs https://stackoverflow.com/a/59452802
трабла винды - если у юзера пустой пароль вдруг, то RunAs не прокатит... но это уже немного оффтоп пошел
Пробовал через powershell но там не получить доступа к выхлопу консоли. Возможно и с runas грабли будут
Спасибо, сэкономили время =)
покопай утилю su https://veg.by/ru/projects/sucmd/ может поможет
Обсуждают сегодня