Вопрос : Как могу я получить, что CFileDialog изменил первоначально директорию?


Наше применение имеет очень большое количество примеров в CFileDialog раскрыно. Мы добавляли одно в мы хотим держать отдельно директорию невыполнения обязательства. т.е. настолько вообще содержания CFileDialog будет первоначально директорией от последния раза, котор потребитель достиг архива. Как бы в данном случае мы хотим не выполнить обязательство к по-разному директории без изменять ранее вспомненную директорию используемую остальноями применения.

Будет последней частью я не могу получить, что работал. Я думал что должно быть легко использовать флаг OFN_NOCHANGEDIR с CFileDialog, но это не кажется, что делает что-нибыдь.

Я имею также судимые сбереженияа текущий каталог перед использованием диалога архива и после этого восстанавливать его using эти методы:

currentDir CString;
:: GetCurrentDirectory (MAX_PATH, currentDir.GetBuffer (MAX_PATH));
currentDir.ReleaseBuffer ();

… храньте доступ

:: SetCurrentDirectory (currentDir);

Пока кажется, что получено currentDir правильно, не кажется, что влияет на SetCurrentDirectory в следующий раз диалог архива раскрын.

«Текущий каталог» фактическ правильная вещь, котор нужно установить? Если так на что пункт делает CFileDialog обычно устанавливайте его?

Я реально хотел был бы некоторое soultion не намеревается идти через все основание Кодего и изменять каждый диалог существующий архива.




Ответ : Как могу я получить, что CFileDialog изменил первоначально директорию?

То будет теперь вами говорит вы знало. :)

Только одно место где такие вещи хранятся - регистратура. Вы можете попытаться отлаживать вас программа - вы увидите исходный код MFC (CWinApp, CDocManager) и это место в регистратуре. Я думаю, оно буду HKLM/Software/Provider/Application/something.

Я думаю будет дорога отвергнуть методы CDocManager:
http://www.codeguru.com/cpp/w-d/dislog/commondialogs/print.php/c1967




Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us