Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Visual C++/MFC/WTL > Отключить работу с реестром в SDI приложении |
Автор: Albor 25.9.2010, 11:37 |
При создании SDI-приложения, после первого запуска, в реестр пишется куча информации о данном приложении. Всё бы ничего, если бы это не мешало отладке программы. Например, я изменил текст одного из пунктов меню, или внёс изменения в Toolbar, запускаю приложение, а изменений не видно. Я удаляю из реестра создаваемую приложением ветвь и снова запускаю - изменения видны. Можно ли отключить работу с реестром в SDI приложении? Если просто закоментировать вызов SetRegistryKey() в InitInstance(), то приложение падает при запуске. |
Автор: Earnest 27.9.2010, 06:57 |
Тулбары записывают информацию в реестр, а вот насчет меню что-то не припомню. Вариантов 2: функция, записывающая изменения в реестр, называется что-то вроде SaveDockState, найди ее, проследи откуда вызывается (и LoadDockState, аналогично) и пресеки. Второй вариант - посмотреть где падает, и соответственно подкрутить. Но первый вариант лучше, т.к. совсем отказываться от реестра неудобно. Тулбары фиг с ними, но есть и другая информация. |
Автор: Earnest 27.9.2010, 14:34 | ||
Это понятно. Нужно посмотреть, откуда вызов. И соответственно подкрутить в своем классе - возможно, это будет фрейм, а может тулбар придется переопределить. Например у меня тулбары не пишутся в реестр, т.е пишутся, но не стандартно, так что изменить это дело точно можно. Но быстро посмотреть не могу, т.к. код там довольно навороченный, а времени сейчас нет. |