2010-09-04 3 views
2

Я не могу найти способ связи между моим IE C# BHO и консольным приложением C#, работающим как SYSTEM.C# IPC Между BHO и сервисом

До сих пор я попытался с помощью Remoting и EventWaitHandle, но оба дают мне «отказано в доступе» ошибки, когда я UAC включен настройки по умолчанию в Win 7.

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

Мне нужен способ обмена данными между двумя процессами с помощью UAC, каковы мои варианты?

+1

Это задняя дверь на возвышение привилегии. Дверь, которую UAC планировала закрыть. –

+0

Я не думаю, что UAC может помешать вам прослушивать консольное приложение C# на порту (принимая только локальные подключения) и связать BHO с ним через TCP/UDP. –

+0

Я почти ничего не знаю об управляемых BHOs, вы можете принять службы WCF в консольном приложении, используя 'netNamedPipesBinding'. Это довольно безопасное связывание и работает только на одном компьютере. Может быть, вы можете добавить ссылку на службу в свой проект BHO, указав на консольную службу? –

ответ

1

Начинающий отзыв Understanding and Working in Protected Mode Internet Explorer. Там в раздел примерно на полпути вниз, которая гласит:

Примечание Лучшая практика запуска приложения с низким уровнем целостности, если вы общаетесь с в защищенном режиме. В противном случае можно использовать только защищенные формы межпроцессной связи (IPC), такие как удаленные вызовы процедур (RPC), для связи между защищенным режимом и более высоким процессом целостности.

По сути, все, что работает в режиме IE «Защищенный режим», очень ограничено «песочницей». Пока this codeproject article цели C++/COM, вы должны использовать принципы, которые он объясняет, чтобы писать что-то в управляемом коде, хотя, вероятно, вам придется выполнить P/Invoke для достижения этого.

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