Вызываю диалог открытия файла CFileDialog. Он открывает все время
"Мои документы". Как сделать, чтобы попадать в текущую директорию? То есть перед вызовом CFileDialog нужно узнать текущую директорию и установить ее. Как это сделать? Через
GetCurrentDirectory и SetCurrenDirectory не получается.
Здравствуйте Vladimir_D, Вы писали:
VD>Вызываю диалог открытия файла CFileDialog. Он открывает все время VD>"Мои документы". Как сделать, чтобы попадать в текущую директорию? То есть перед вызовом CFileDialog нужно узнать текущую директорию и установить ее. Как это сделать? Через VD>GetCurrentDirectory и SetCurrenDirectory не получается.
CFileDialog dlg(...);
dlg.m_ofn.lpstrInitialDir = _T("Whatever directory you like");
dlg.DoModal();
Здравствуйте Alex Fedotov, Вы писали:
AF>Здравствуйте Vladimir_D, Вы писали:
VD>>Вызываю диалог открытия файла CFileDialog. Он открывает все время VD>>"Мои документы". Как сделать, чтобы попадать в текущую директорию? То есть перед вызовом CFileDialog нужно узнать текущую директорию и установить ее. Как это сделать? Через VD>>GetCurrentDirectory и SetCurrenDirectory не получается.
AF>
AF>CFileDialog dlg(...);
AF>dlg.m_ofn.lpstrInitialDir = _T("Whatever directory you like");
AF>dlg.DoModal();
AF>
Вопрос вот в чем. Моя программа ( EXE-шник ) в данный момент
находится в директории C:\MYDIR1. Нужно, чтобы после
dlg.Domodal() открывалась именно эта директория. Завтра
я перенес эту программу на другой компьютер, в директорию
C:\ALIENDIR2. И нужно попадать именно в эту директорию.
То есть в текущую, в ту, где находится EXE-шник, а не в какую-то
заранее известную.
Здравствуйте Vladimir_D, Вы писали:
VD>Здравствуйте Alex Fedotov, Вы писали:
AF>>Здравствуйте Vladimir_D, Вы писали:
VD>Вопрос вот в чем. Моя программа ( EXE-шник ) в данный момент VD>находится в директории C:\MYDIR1. Нужно, чтобы после VD>dlg.Domodal() открывалась именно эта директория. Завтра VD>я перенес эту программу на другой компьютер, в директорию VD>C:\ALIENDIR2. И нужно попадать именно в эту директорию. VD>То есть в текущую, в ту, где находится EXE-шник, а не в какую-то VD>заранее известную.
Используй GetModuleFileName и почувствуешь себя сухо и комфортно.
Здравствуйте Vladimir_D, Вы писали:
VD>Здравствуйте Alex Fedotov, Вы писали:
AF>>Здравствуйте Vladimir_D, Вы писали:
VD>>>Вызываю диалог открытия файла CFileDialog. Он открывает все время VD>>>"Мои документы". Как сделать, чтобы попадать в текущую директорию? То есть перед вызовом CFileDialog нужно узнать текущую директорию и установить ее. Как это сделать? Через VD>>>GetCurrentDirectory и SetCurrenDirectory не получается.
AF>>
AF>>CFileDialog dlg(...);
AF>>dlg.m_ofn.lpstrInitialDir = _T("Whatever directory you like");
AF>>dlg.DoModal();
AF>>
VD>Вопрос вот в чем. Моя программа ( EXE-шник ) в данный момент VD>находится в директории C:\MYDIR1. Нужно, чтобы после VD>dlg.Domodal() открывалась именно эта директория. Завтра VD>я перенес эту программу на другой компьютер, в директорию VD>C:\ALIENDIR2. И нужно попадать именно в эту директорию. VD>То есть в текущую, в ту, где находится EXE-шник, а не в какую-то VD>заранее известную.
Виноват, стормозил. Конечно, текущая директория — это ".".
Углубившись, забываешь о простых вещах.
Спасибо.
Здравствуйте Vladimir_D, Вы писали:
VD>Виноват, стормозил. Конечно, текущая директория — это ".". VD>Углубившись, забываешь о простых вещах.
Текущая директория совсем не обязательно совпадает с той, из которой запущен твой exe.
Если тебе нужна именно директория с exe, то, как тебе уже сказали, используй GetModuleFileName.
Здравствуйте Vladimir_D, Вы писали:
VD>Здравствуйте Vladimir_D, Вы писали:
VD>>Здравствуйте Alex Fedotov, Вы писали:
AF>>>Здравствуйте Vladimir_D, Вы писали:
VD>>>>Вызываю диалог открытия файла CFileDialog. Он открывает все время VD>>>>"Мои документы". Как сделать, чтобы попадать в текущую директорию? То есть перед вызовом CFileDialog нужно узнать текущую директорию и установить ее. Как это сделать? Через VD>>>>GetCurrentDirectory и SetCurrenDirectory не получается.
AF>>>
AF>>>CFileDialog dlg(...);
AF>>>dlg.m_ofn.lpstrInitialDir = _T("Whatever directory you like");
AF>>>dlg.DoModal();
AF>>>
VD>>Вопрос вот в чем. Моя программа ( EXE-шник ) в данный момент VD>>находится в директории C:\MYDIR1. Нужно, чтобы после VD>>dlg.Domodal() открывалась именно эта директория. Завтра VD>>я перенес эту программу на другой компьютер, в директорию VD>>C:\ALIENDIR2. И нужно попадать именно в эту директорию. VD>>То есть в текущую, в ту, где находится EXE-шник, а не в какую-то VD>>заранее известную.