Sé que existen las funciones GetCurrentDirectory() y SetCurrentDirectory() en el marco MFC, pero no tengo un objeto CFtpConnection en mi aplicación. Tengo una clase simple derivada de CWinApp, y me gustaría recuperar su directorio de trabajo al iniciar el programa. ¿Cuál es el método más fácil para lograr este objetivo? Gracias de antemano por los consejos.MFC: función GetCurrentDirectory
Respuesta
GetCurrentDirectory es una simple función de API Win32, por lo que sólo lo llaman así:
TCHAR currentDir[MAX_PATH];
GetCurrentDirectory(MAX_PATH, currentDir);
Hay el mismo código, pero usa la clase CString (no olvides llamar 'ReleaseBuffer()' para tu objeto 'CString'): ' CString curDir; GetCurrentDirectory (MAX_PATH, curDir.GetBufferSetLength (MAX_PATH)); curDir.ReleaseBuffer(); ' – Mar
Asumo que está tratando de obtener el directorio en el archivo .exe se encuentra en lugar del directorio actual. Este directorio puede ser diferente del directorio actual.
TCHAR buff[MAX_PATH];
memset(buff, 0, MAX_PATH);
::GetModuleFileName(NULL,buff,sizeof(buff));
CString strFolder = buff;
strFolder = strFolder.Left(strFolder.ReverseFind(_T('\\'))+1);
La ruta del exe (o dll) no es necesariamente el directorio actual. Tan pronto como este no sea el caso, se encontrará con problemas si usa esta solución. – Alex
¿De qué estás hablando? esta solución es solo para evitar el caso de que el directorio actual sea diferente del directorio donde está el archivo exe. La pregunta cambió de la pregunta original. – Gisway
- 1. JFileChooser getCurrentDirectory devolviendo el directorio actual incorrecto?
- 2. ¿Hay alguna función llamada después de la función OnInitDialog en MFC?
- 3. Alternativa a MFC
- 4. Rellenar desplegable en MFC
- 5. Recursos/enlaces de MFC
- 6. libraby estática en MFC
- 7. Dimensionando una Ventana MFC
- 8. Menú dinámico usando mfc
- 9. ¿MFC está en desuso?
- 10. Creando una GUI con MFC
- 11. Convertir MFC CString a entero
- 12. Eliminación de menú en MFC
- 13. ¿MinGW es compatible con MFC?
- 14. ¿Cómo matar un hilo MFC?
- 15. VS 2008, MFC: agregue OnInitDialog, ¿cómo?
- 16. crear un control mediante programación utilizando MFC
- 17. Cómo mostrar OpenCV Mat en MFC View
- 18. Aplicación MFC y un cuadro de diálogo modal que no es MFC
- 19. ¿Sigue habiendo un caso para MFC
- 20. C++ MFC Cómo dibujar rectángulo transparente alfa
- 21. ¿Tiene MFC incorporado un control de cuadrícula?
- 22. Cómo cargar imágenes .png, .jpeg usando MFC?
- 23. UTF-8, CString y CFile? (C++, MFC)
- 24. ¿Cómo puede terminar una aplicación MFC?
- 25. Cómo puedo crear un guid en MFC
- 26. Pregunta difícil en WPF, Win32, MFC
- 27. ¿Los decoradores "afx_msg" todavía usan VS/MFC?
- 28. MFC resource.h comando/IDs de mensaje
- 29. C++ CLI System.String^a MFC LPCTSTR
- 30. Obtener ancho de texto en MFC
Ver http://msdn.microsoft.com/en-us/library/aa364934(VS.85).aspx ... nada que ver con si usted tiene o no un objeto CFtpConnection. – ChrisW
Dupe: http://stackoverflow.com/questions/875249/how-to-get-current-directory – ChrisW
En circunstancias normales, la carpeta de trabajo se encontrará en la carpeta de datos de la aplicación de usuario y hay una API especial para obtener ubicaciones de carpetas especiales. Entonces, debe decidir cómo administrará dónde estará la carpeta de trabajo. –