Ir ao conteúdo

Iniciar junto com o windows


Shoxsz

Posts recomendados

Postado

Olá, gostaria de saber como criar um porgrama em C para se programar para iniciar junto com o windows, existe alguma função do windows para isso?

Postado

Caro amigo, existe duas maneiras simples de se fazer o que desejas.

A primeira delas é impor no programa um comando para o mesmo se autocopie para a pasta Inicializar, do menu iniciar(em All Users), para, assim, cada vez que o sistema for reinicializado o programa se autoexecute.

Exemplo:

#include <stdio.h>
#include <windows.h>
int main(int argc,char *Arquivo[]) // Arquivo[0] será automaticamente uma variável que contem o nome + diretório do arquivo executado
{// inicio do programa
char*allusersprofile=getenv("allusersprofile"); //Pega a variável de ambiente All users profile
char arquivodestino[9999]; // cria a variável onde ficará o destino do arquivo
strcpy(arquivodestino,allusersprofile);//agora nosso destino está com a variável allusersprofile, basta usar strcat para atribuir um nome a ele
strcat(arquivodestino,"//Menu Iniciar//Programas//Inicializar//Nomedoarquivocopiado.exe");//pronto, agora basta usar CopyFile para copiar, ex:
CopyFile(Arquivo[0],arquivodestino,0);//pronto, nosso programa se autocopiou para a pasta inicializar. Agora, a partir da próxima inicialização do windows ele se autoinicializará.
return(0); // Termina o programa com sucesso (nem precisa usar se não quiser)
}// fim do programa.

A segunda é criando uma entrada no registro e se autocopiando para algum local, por exemplo, C:

Exemplo:

#include <windows.h>
#include <stdio.h>
int main(int argc,char*Arquivo[]); // Novamente Arquivo[0] será o executável (use GetModuleFileName() caso seu programa seja Win API.
{
char*homedrive=getenv("homedrive");//pega o disco local, geralmente C:
char destino[9999]; // o destino do arquivo
strcpy(destino,homedrive);
strcat(destino,"//Nomedoarquivo.exe");
CopyFile(Arquivo[0],destino,0); // use if(CopyFile()) para melhores resultados
// o arquivo já está no C:, agora vamos criar a entrada no registro para que ele se autoinicie.
HKEY Entrada;
RegOpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",&Entrada);
RegSetValueEx(Entrada,"Nomedaentrada",0,1,(LPBYTE)destino,25);
RegCloseKey(Entrada);
//Pronto, agora continue seu código e, quando o windows se inicializar novamente o programa será auto-executado.
}//fim do programa.

Boa sorte.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!