Oppure

Loading
21/10/06 14:15
Al3k
ho trovato un esempio che utlizza <direct.h>

e quindi:

void GetCurrentPath(char* buffer){
getcwd(buffer, _MAX_PATH);
}

il problema è che non mi trova direct.h

ah e poi oltre alla dir mi interessava anche il nome completo nomefile.exe
aaa
21/10/06 15:34
pierotofy
Prova ad usare

DWORD WINAPI GetModuleFileName(
  HMODULE hModule,
  LPTSTR lpFilename,
  DWORD nSize
);


Definita in <windows.h>
Il mio blog: piero.dev
21/10/06 16:33
Al3k
grazie 1000!! va alla perfezione :rotfl:

posto il codice esempio completo (provato con devc++):

#include <windows.h>

DWORD WINAPI GetModuleFileName(HMODULE hModule,LPTSTR lpFilename,DWORD nSize);

int main(){
    char c[255];
    GetModuleFileName(NULL,c,255);
    MessageBox(NULL,c,"exepath",MB_OK);
    Sleep(1000);
    return(0);
}


ditemi se va bene così ... anche se va a volte un codice corretto non è detto che sia il migliore.
è poco che programmo in c++ (prima usavo solo vb6)
Ultima modifica effettuata da Al3k 21/10/06 16:36
aaa
21/10/06 17:52
Al3k
ecco qua il programma un po ampliato

#include <windows.h>
#include <string.h>

int main(){

    char system[MAX_PATH];
    char pathtofile[MAX_PATH];
    HMODULE GetModH = GetModuleHandle(NULL);

GetModuleFileName(GetModH,pathtofile,sizeof(pathtofile));
    GetSystemDirectory(system,sizeof(system));
    
    strcat(system,"\prg.exe");
    
    CopyFile(pathtofile,system ,false);

return 0;
}


dovrebbe funzionare :d ...ma mi da errore a strcat:

stray '8' in program
Ultima modifica effettuata da Al3k 21/10/06 18:24
aaa
21/10/06 18:25
Al3k
ah nulla adesso va! :-|
aaa
22/10/06 6:34
non serve scrivere il prototipo della funzione all'inizio del programma, e poi ti conviene compilarlo come un progetto non a console, in modo che la finestra del promp non ci sia....;)
22/10/06 11:00
Al3k
Ovvio :asd: già fatto
aaa