PDA

Visualizza la versione completa : [C/C++]: MFC e path relativi


mxa
29-07-2006, 14:32
Qualcuno ha idea se con mfc si possano usare path relativi (alla stessa posizione dell'eseguibile ad esempio)?

Mi correggo, vorrei qualcosa di più: il path assoluto del mio eseguibile che sta girando.

oregon
29-07-2006, 15:13
Non e' una questione di MFC ... intanto, di che tipo di progetto stiamo parlando?

Win32 Console? Win32 Application? Managed? Nativa?

Con quale versione di IDE/compilatore stai lavorando?

mxa
29-07-2006, 15:20
Originariamente inviato da oregon
Non e' una questione di MFC ... intanto, di che tipo di progetto stiamo parlando?

Un progetto di visualizzazione di immagini medicali con le librerie vtk


Win32 Console? Win32 Application? Managed? Nativa?

MFC Application single document


Con quale versione di IDE/compilatore stai lavorando?
Visual studio 2005 team edition

mxa
29-07-2006, 15:50
Ce l'ho fatta :yuppi:


#define MAX_DIR_LENGTH 1024

[...]

DWORD dwRes = 0;
char szPath[MAX_DIR_LENGTH];
CString m_szCurrentDir;
dwRes = GetCurrentDirectory(MAX_DIR_LENGTH, szPath);
m_szCurrentDir=szPath; //e voila il path di dove stanno i sorgenti. già qualcosa

mxa
29-07-2006, 16:54
Visto che non posso più modificare mi quoto

Originariamente inviato da mxa
Ce l'ho fatta :yuppi:


#define MAX_DIR_LENGTH 1024

[...]

DWORD dwRes = 0;
char szPath[MAX_DIR_LENGTH];
CString m_szCurrentDir;
dwRes = GetCurrentDirectory(MAX_DIR_LENGTH, szPath);
m_szCurrentDir=szPath;


Il path ottenuto è effetivamente quello dove risiede l'eseguibile, ma solo se questo viene lanciato al di fuori del visual studio. Altrimenti il path sarà quello dei sorgenti.

oregon
29-07-2006, 17:17
Nella

CMainFrame::OnCreate

puoi usare



TCHAR szPath[MAX_PATH];

GetModuleFileName(NULL, szPath, MAX_PATH);
MessageBox(szPath, NULL, 0);

Loading