I write the code, but does not work. it cannot create xxx and no error found.
func SetAutoRun(run bool) error {
k, err := registry.OpenKey(registry.CURRENT_USER,
`HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run`,
registry.QUERY_VALUE|registry.SET_VALUE)
if err != nil {
return err
}
defer k.Close()
if run {
if err := k.SetStringValue("xxx", SysExecPath("xxx.exe")); err != nil {
return err
}
} else {
k.DeleteValue("xxx")
}
return nil
}
another code:
key, _, err := registry.CreateKey(registry.CURRENT_USER, "HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", registry.ALL_ACCESS)
if err != nil {
return err
}
defer key.Close()
if run {
nkey, _, err := registry.CreateKey(key, "xxx", registry.ALL_ACCESS)
if err != nil {
return err
}
defer nkey.Close()
err = nkey.SetStringValue("String", SysExecPath("xxx.exe"))
if err != nil {
return err
}
} else {
key.DeleteValue("xxx")
}
I write the code, but does not work. it cannot create xxx and no error found.
another code: