diff --git a/main.go b/main.go index a5dc440..d38be40 100644 --- a/main.go +++ b/main.go @@ -38,9 +38,9 @@ func main() { OnClicked: func() { if indicatorStatus == 1024 { - setKeyOff() + setKey(0) } else { - setKeyOn() + setKey(1) } getKey() indicatorTextLabel.SetText(indicatorStatusString) diff --git a/reg.go b/reg.go index 4a78f00..ae944fc 100644 --- a/reg.go +++ b/reg.go @@ -5,8 +5,11 @@ import ( ) func getKey() { - key, _ := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\NVIDIA Corporation\Global\NGXCore`, registry.QUERY_VALUE) - + key, err := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\NVIDIA Corporation\Global\NGXCore`, registry.QUERY_VALUE) + if err != nil { + indicatorStatusString = "Error: DLSS not supported!" + return + } value, _, _ := key.GetIntegerValue("ShowDlssIndicator") defer key.Close() @@ -20,18 +23,9 @@ func getKey() { indicatorStatusString = "NOT SET" } } -func setKeyOn() { + +func setKey(value int) { key, _ := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\NVIDIA Corporation\Global\NGXCore`, registry.SET_VALUE) - - key.SetDWordValue("ShowDlssIndicator", uint32(1024)) + key.SetDWordValue("ShowDlssIndicator", uint32(value * 1024)) defer key.Close() - -} - -func setKeyOff() { - key, _ := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\NVIDIA Corporation\Global\NGXCore`, registry.SET_VALUE) - - key.SetDWordValue("ShowDlssIndicator", uint32(0)) - defer key.Close() - -} +} \ No newline at end of file