无法通过golang删除注册表项

无法通过golang删除注册表项,go,registry,Go,Registry,我在golang中编写了一个代码,从注册表项中删除一个键,代码如下 k, err := registry.OpenKey(registry.LOCAL_MACHINE, `SYSTEM\CurrentControlSet\services`, registry.ALL_ACCESS) if err != nil { log.Println("ERROR::<Uninstall> Error in getting the registry val

我在golang中编写了一个代码,从注册表项中删除一个键,代码如下

k, err := registry.OpenKey(registry.LOCAL_MACHINE, `SYSTEM\CurrentControlSet\services`, registry.ALL_ACCESS)
        if err != nil {
            log.Println("ERROR::<Uninstall> Error in getting the registry values: ",err)
        }
        defer k.Close()

        err=k.DeleteValue("MyKey")
        if err != nil {
            log.Println("ERROR::<Uninstall> Error occured while deleting the MyKey Details From the registry ",err)
        }
k,err:=registry.OpenKey(registry.LOCAL\u MACHINE,`SYSTEM\CurrentControlSet\services`,registry.ALL\u ACCESS)
如果出错!=零{
Println(“错误::获取注册表值时出错:”,err)
}
推迟k.结束()
err=k.DeleteValue(“MyKey”)
如果出错!=零{
log.Println(“从注册表中删除MyKey详细信息时出错::ERROR”,err)
}
我的输出如下

2016/02/18 13:51:40 ERROR::<Uninstall> Error occured while deleting the MyKey Details From the registry  The system cannot find the file specified.
2016/02/18 13:51:40错误::从注册表中删除MyKey详细信息时出错系统找不到指定的文件。
提前感谢。

您可以使用以下方式定义的:

func DeleteKey(k Key, path string) error
DeleteKey
删除键k的子键路径及其值

您可以使用以下方式定义的:

func DeleteKey(k Key, path string) error
DeleteKey
删除键k的子键路径及其值


我没有得到任何这方面的工作,所以我用PowerShell代替。以下是我的功能:

import("github.com/KnicKnic/go-powershell/pkg/powershell")

...


func delreg(service string) {
    reg := `HKLM:\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\` + service
    color.Warn.Println("Will delete: " + reg)

    runspace := powershell.CreateRunspaceSimple()
    defer runspace.Close()
    GetService := (`Remove-Item -Path "` + reg + `" -Recurse`)
    results1 := runspace.ExecScript(GetService, false, nil)
    results1.Close()
}

我没有得到任何这方面的工作,所以我用PowerShell代替。以下是我的功能:

import("github.com/KnicKnic/go-powershell/pkg/powershell")

...


func delreg(service string) {
    reg := `HKLM:\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\` + service
    color.Warn.Println("Will delete: " + reg)

    runspace := powershell.CreateRunspaceSimple()
    defer runspace.Close()
    GetService := (`Remove-Item -Path "` + reg + `" -Recurse`)
    results1 := runspace.ExecScript(GetService, false, nil)
    results1.Close()
}

很清楚错误信息是什么。我有一个有这个名字的钥匙。我所要做的就是删除密钥。但是我所用的将删除该值,但我不确定它是否可以删除一个键。很清楚错误消息是什么。我有一个带有该名称的键。我所要做的就是删除密钥。但我使用的将删除该值,但我不确定它是否可以删除key2016/02/18 15:35:58错误::删除myKey注册表值时出错::访问被拒绝。但我只以管理员权限运行exe。这是另一个问题,与您原来的问题没有严格的关系。可能有以下帮助:2016/02/18 15:35:58错误::删除myKey注册表值时出错::访问被拒绝。但我只以管理员权限运行exe。这是另一个问题,与您原来的问题没有严格的关系。也许这有帮助: