system("regedit /s foo.reg");
следует импортировать без вывода диалогов. См. Здесь для параметров командной строки regedit.exe . Однако я буду скептически относиться к рассматриваемому файлу реестра (foo.reg); проверьте, правильно ли это. Также после запуска убедитесь, что вы проверяете правильный путь в реестре, который foo.reg
сделан для внесения изменений.
Примечание: функция system()
стандартной библиотеки C объявлена в stdlib.h
, поэтому она должна быть:
#include <stdlib.h>
int main()
{
system("regedit /s foo.reg");
return 0;
}
Edit:
Я думаю, что импорт уже успешно; так как вы упомянули, что это 64-битная машина XP, я думаю, что изменения будут лежать под Wow6432Node
. Например. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node
или HKEY_CURRENT_USER\SOFTWARE\Wow6432Node
. Так что проверь под Wow6432Node
тоже. См. Этот пост и MSDN для получения дополнительной информации об этом.