我写了一个小的控制台程序 删除我加入自动运行的程序
可是在NT下不能用,不知道是不是什么API无法使用啊现在求一个简单的方法 来实现删除注册表里的run 里面的键值啊!能不能用类似清理注册表的那个.BAT的小软件那样实现啊???谢谢

解决方案 »

  1.   

    RegDeleteKey() API应该可以...看是否有权限问题等
      

  2.   

    void DeleteAutoRun()
    {
    CString strSubKey = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");   
    HKEY hKey = NULL;   
    RegOpenKeyEx(HKEY_LOCAL_MACHINE, strSubKey, 0, KEY_WRITE, &hKey);   
    CString strValue = _T("Run111");   
    RegDeleteValue(hKey, strValue);   
    RegCloseKey(hKey);
    }反正就是调用这个现成的函数
    就是基于控制台的操作
    您说的权限应该怎样设置啊?
    而且NT是不是写入到_T("SOFTWARE\\Microsoft\\WindowsNT\\CurrentVersion\\Run");??  
      

  3.   

    你用RegDeleteValue无法删除?你是不是高级管理员?
      

  4.   

    参见:
    http://snipurl.com/cppcode8828
      

  5.   

    能不能用类似清理注册表的那个.BAT的小软件那样实现啊??? 
      

  6.   

    这个程序 我执行后报一大堆错
    而且我现在在管理员用户下 删除也不行
    是不是编译设置时候没有脱离vc的问题啊???
    希望大家帮忙一下,没有nt编程经验
    应该怎样设置就脱离了vc的库啊?
      

  7.   

    报错是  无法找到动态链接库MSVCP60.DLL 于指定路径  然后就是我程序的路径。
    这个问题是跟什么有关系啊?
    在xp和2000下没有这个错误???