У меня есть DLL, которую я загружаю в Internet Explorer в качестве вспомогательного объекта браузера C++ (BHO). Я хочу создать уникальный GUID каждый раз, когда браузер перезагружается. Я попробовал 3 разных решения:Создать статическую переменную в объекте помощника браузера
1) Создайте глобальную статическую переменную. Тем не менее, кажется, что открытие новой вкладки создает новый процесс, и это состояние переменной не передается через разные загруженные экземпляры плагина.
2) Я пробовал создать одноэлементный класс, где я поддерживаю один объект, который возвращает GUID. Не работает, возможно, по тем же причинам, что и [1].
3) Наконец, я попытался установить cookie сессии (используя InternetSetCookie). Однако cookie сеанса предназначен для каждого процесса, что в основном означает, что открытие новой вкладки не переходит к файлу cookie сеанса.
Есть ли простой способ разделить состояние между всеми экземплярами BHO (например, DLL). Я читал о __declspec (dllexport), но не уверен, что это правильное решение этой проблемы. Это, по-видимому, больше касается обмена переменными между различными DLL. У меня, с другой стороны, есть несколько экземпляров одной и той же DLL.