[C++]Kopiowanie wykonywanego pliku

Witam! Mam do was pytanie, a mianowicie jak można skopiować dany program, który jest w tej chwili wykonywany? Tzn. program kopiuje samego siebie do danego folderu, lecz nie zna on swojego położenia. Myślę, że CopyFileA odpada. Dziękuję za jakąkolwiek pomoc :).

Na Windowsie do pobrania nazwy swojego exeka możesz użyć GetModuleFileName, podając NULL jako hModule.

TCHAR name[MAX_PATH+1];

GetModuleFileName(NULL, name, MAX_PATH+1);

Jak program może nie znać swojego położenia, przecież wszystko co wykonasz na ścieżkach relatywnych wykonasz w ramach katalogu w którym znajduje się uruchomiony program. Wystarczy pobrać nazwę programu, która jest pierwszym elementem w tablicy przekazanej do main jako drugi argument.

Dziękuję Rolek0, działa :).

Katalog bierzący a katalog, z którego została uruchomiona aplikacja, to dwie różne rzeczy; to, że zwykle wskazują na ten sam katalog nie ma nic do rzeczy; proces może sobie zmieniać swój katalog bierzący.