2017-02-10 8 views
0

Я создаю программу, которая регистрирует 3D-процессы в фоновом режиме. Некоторые из них работают как администратор, и мне нужно запустить повышение, чтобы захватить их. Я использую pspi EnumProcesses с p/invoke. Мой вопрос теперь: как я архитектор это, чтобы программа:Запуск Повышенный при запуске и межпроцессное общение

  • старт на входе пользователя
  • захвата процессов с повышенными правами
  • Have UI и TaskIcon присутствующих
  • Возможность перезагрузки/выключения мой программа

Я посмотрел на TaskScheduler решений, но там, кажется, проблемы с запуском пользовательского интерфейса и значок на панели задач может не отображаться, так что, кажется, нет никакого решения, по крайней мере, в том, как с uggested.

Я видел, как люди рекомендуют отдельный процесс для запуска в качестве задачи/службы, а затем общаются с ним. Если это лучшее и рекомендуемое решение, каков рекомендуемый способ общения с другим процессом на C#? Я видел, как люди рекомендуют названные каналы и RPC.

Итак, мой вопрос заключается в том, как мне создать такую ​​архитектуру как «.NET (4.6)/C# на Windows 10»?

ответ

0

Некоторые идеи:
запустить программу после входа пользователя в систему:
Вы должны изучить окна папки Startup или реестра HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run
процессы захвата с повышенными правами
this;
UI и TaskIcon/Возможность перезагрузки/выключение моей программы
Я бы для приложения UI, который начинается в трей и обменивается данными с Process Monitor с помощью WCF для более сложной миграции данных или EventWaitHandle, если вам просто нужна миграция сигнала ,

Как уже упоминалось ранее, я хотел бы использовать 2 приложения: 1, выступая в качестве службы мониторинга (без интерфейса пользователя) и клиентского приложения с пользовательским интерфейсом. Связь между этими процессами во многом зависит от ваших потребностей, но WCF может быть хорошим выбором для сложных данных или EventWaitHandle для просто отправки/получения сигналов.

 Смежные вопросы

  • Нет связанных вопросов^_^