Можно ли указать имя приложения, которое используется CWinApp :: WriteProfileString ()?
Если я использую CWinApp :: SetRegistryKey, чтобы установить имя моей компании на «MyCompany», и я вызываю AfxGetApp () -> WriteProfileString в моем приложении с именем «SomeApp», моя строка будет храниться в следующем разделе реестра:
HKEY_CURRENT_USER \ Программное обеспечение \ MyCompany \ SomeApp \ ...
Проблема в том, что мои пользователи хотят запускать несколько версий SomeApp. Поэтому, чтобы настройки реестра не конфликтовали, я хочу сохранить их в ключах, таких как:
HKEY_CURRENT_USER \ Программное обеспечение \ MyCompany \ SomeApp 1.1 \ ...
HKEY_CURRENT_USER \ Программное обеспечение \ MyCompany \ SomeApp 2.0 \ ...
и т. д.
Я мог бы заменить все экземпляры WriteProfileString своей собственной функцией, но это было бы довольно сложно, поскольку он широко используется как в нашем исходном коде, так и в некоторых сторонних библиотеках, которые мы используем.
Есть ли способ заставить WriteProfileString использовать другую строку для имени приложения?