Ciao a tutti.
Sono un principiante e stavo cercando di fare un programma per scrivere nel registro prendendo dei dati da un file .ini.
Dev c++ compila il file ma quando lo esegue si blocca e mi compare la schermata di windows che dice che il programma ha smesso di funzionare.
il codice è questo (cancellando alcuni parti sono arrivato alla conclusione che l'errore sia nella prima parte, ma non ne sono proprio sicuro):
Grazie a tutti quelli che risponderanno.codice:#include <stdlib.h> #include <string.h> #include <windows.h> char ini_file[8]="set.ini"; int read_ini_sys(); int read_ini_sys() { int sys_type; sys_type=GetPrivateProfileInt("Computer","Sys",64,ini_file); return sys_type; } char read_ini_name(); char read_ini_name() { char* result; char name; name=GetPrivateProfileString("File","Name","",result,250,ini_file); return name; } char read_ini_dir(); char read_ini_dir() { char* result; char dir; dir=GetPrivateProfileString("File","Dir","",result,500,ini_file); return dir; } main () { int sys; char* name; char* dir; sys=read_ini_sys(); name[100]=read_ini_name(); dir[500]=read_ini_dir(); char* a64; char* a32; char* b; a64="reg add \"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run\" /v "; a32="reg add \"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\" /v "; switch (sys) { case 64 : b=strcat(a64,name); break; case 32 : b=strcat(a32,name); break; } char* c=" /t REG_SZ /d \""; char* d=strcat(b,c); char* e=strcat(d,dir); char* f="\" /f"; char* fine=strcat(e,f); system(fine); return 0; }

Rispondi quotando