Ir ao conteúdo

Criando registros com c++


renatocf

Posts recomendados

Postado

Olá ! Peguei alguns códigos da internet e estou tentando montar um programa que se registre no RUN do windows, e quando ligar o computador, o programa inicie...

Até agora ele se copia para o diretório principal, mas não faz o registro...

Segue o código :

#include <windows.h>#include <stdio.h>#include <Winreg.h>using namespace std;int main(int argc,char*arq[]){char*homedrive=getenv("homedrive");char destino[9999];strcpy(destino,homedrive);strcat(destino,"//teste.exe");CopyFile(arq[0],destino,0);//registroHKEY hkey;long regOpenResult;const char path[] = "homedrive";regOpenResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_ALL_ACCESS,&hkey); RegSetValueEx(hkey,"testeprogram",0,REG_SZ,(BYTE*)path,strlen(path)); RegCloseKey(hkey);//codigoprintf("Ola, me iniciei !\n");system("pause");}

Valeu !!

Postado

Infelizmente, as bibliotecas utilizadas neste programa são bibliotecas exclusivas da Microsoft, as quais eu lhe garanto que não são muito fáceis de manusear e de conseguir suporte, principalmente neste fórum. Procure a respeito do assunto e estude tais bibliotecas, principalmente a <windows.h> que é uma das mais utilizadas neste ramo pra aplicativos Win32. Além disso, se ainda me permite te dar uma dica, procure sobre Qt Creator, uma IDE/biblioteca para construir aplicações com interfaces gráficas em C++, podendo rodar não só em Windows como também em Linux e Mac. Você terá mais facilidade, mais comunidades para dúvidas como essas e portabilidade (o mais importante).

Postado

A parte que manipula as funções de registro estão ok.

Mas como o seu programa se trata uma aplicação Windows, use WinMain como função principal ao invés de main.

E remova esse printf e system("pause")...

Por exemplo

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow){    /* funções que manipulam o registro */    MessageBox(NULL, "Ola, me iniciei!", "OLA", MB_OK);    return 0;}

Além disso, quando você criar o projeto, deve escolher um para aplicação Windows e não para console.

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!