本人有一个应用需要修改注册表以达到程序开机自动运行的目的:
当以参数为TRUE时调用以下函数将在"HKEY_LOCAL_MACHINESOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"下设置子键为 xiaot并将键值设为pval指定的程序路径,当以参数FALSE调用时,将子键XIAOT连同其键值一并删除,但是此程序只能设置子键XIAOT与键值,但不能删除它们??????这段程序有什么错误吗?怎么改啊?想了一天了,请大侠指教呵!!!!!!!!!!!!!!!void CreateRun(BOOL bKey)
{
HKEY hKey;
const char *pval ="c:\\xiaot.exe";

if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",
0, KEY_WRITE, &hKey) ==ERROR_SUCCESS)
{
if(bKey)
{
if(RegSetValueEx(hKey, "xiaot", 0, REG_SZ,
(const unsigned char *)pval,  strlen(pval)+1)!=ERROR_SUCCESS)
RegCloseKey(hKey);
}
else RegDeleteKey(hKey,"xiaot");
RegCloseKey(hKey);
}
}