PDA

View Full Version : [c++] Nome file exe


okay
19-06-2006, 08:46
ciao

come è che si fà, una volta lanciato l'exe, da codice, mettere il nome dell'exe lanciato in un wchar_t per poter gestire il nome dell'applicazione??

esempio:
lancio mio.exe e da codice:

wchar_t szApplication[MAX_PATH];
wchar_t mio[MAX_PATH];
GetCurrentDirectoryW( MAX_PATH, szApplication );
wcscat( szApplication, L"mio.exe");//

ecco vorrei che se cambio il nome all'exe avessi in szApplication:
wcscat( szApplication, mio");

mio="alnomedelmioEXE" perchè potrei cambiare il nome all'exe

spero di essermi spiegato

okay
19-06-2006, 08:55
trovato:

GetModuleFileName(hInst, szFileName, MAX_PATH);

andbin
19-06-2006, 09:03
come è che si fà, una volta lanciato l'exe, da codice, mettere il nome dell'exe lanciato in un wchar_t per poter gestire il nome dell'applicazione??Esempio:
WCHAR szExeName[MAX_PATH];

if (GetModuleFileNameW (NULL, szExeName, MAX_PATH) != 0)
{
....
}

trallallero
19-06-2006, 09:10
trovato:

GetModuleFileName(hInst, szFileName, MAX_PATH);

il ANSI e' argv[0] che e' una stringa e corrisponde al primo parametro passato all'eseguibile, il suo nome appunto.
Ha lo svantaggio che se chiami il programma con tutto il path, argv[0] conterra' tutto il path.

andbin
19-06-2006, 09:26
il ANSI e' argv[0] che e' una stringa e corrisponde al primo parametro passato all'eseguibile, il suo nome appunto.
Ha lo svantaggio che se chiami il programma con tutto il path, argv[0] conterra' tutto il path.Se okay sta sviluppando un programma Win32 GUI (non lo so :p ), argc/argv non ci sono. ;)
Inoltre, ammesso di avere argc/argv, il contenuto di argv[0] è un path "relativo", non assoluto come quello ritornato da GetModuleFileName.

trallallero
19-06-2006, 10:32
Se okay sta sviluppando un programma Win32 GUI (non lo so :p ), argc/argv non ci sono. ;)
Gia' ... e' vero che la MS fa le cose a modo suo incurante degli standard planetari :D

Inoltre, ammesso di avere argc/argv, il contenuto di argv[0] è un path "relativo", non assoluto come quello ritornato da GetModuleFileName.

uhm .. vero (per argv, GetModuleFileName non lo conosco) ma se lui lancia il prog con il nome pippo che e' un link a pluto magari gli serve il nome con cui l'ha lanciato ... pippo.
Miiii quant'e' che non programmo con MS ... e devo ammettere che un po' mi manca :rolleyes:
(ma Borland, for ever :D )