Código
wstring getRuta() { wstring path = _wgetenv(L"windir"); path += L"\\System32\\"; return path; }
Acá obtengo la ruta en la que quiero que mi .exe se replique y con la siguiente funcion es cuando hago el copiado.
Código
void copiar(wstring cad) { cad += L"windr32.exe"; const wchar_t* camino = cad.c_str(); wchar_t buffer[256]; HMODULE exe = GetModuleHandle(0); GetModuleFileName(exe, (LPWSTR)buffer, 256); CopyFile(buffer, camino, 0); }
Como pueden ver obtengo la ruta de mi ubicación actual y me replico en la carpeta de System32. Obviamente esto ejecutando mi .exe como administrado y el retorno de la función CopyFile es 0 por lo que en teoría se copio con éxito. Pero al revisar, no aparece el archivo, funciona bien con otras rutas como en disco local D. Espero puedan ayudarme con esto.