From 98be679ce2b8fea643a88fb27816fe36c3f63db3 Mon Sep 17 00:00:00 2001 From: Alex Zorzi Date: Thu, 18 Aug 2022 14:47:29 +0200 Subject: [PATCH] Handle no DLSS support error (#1) * Handle no DLSS support error * Small readability changes Authored-by: AlexZorzi Co-authored-by: Watn3y --- main.go | 5 +++-- reg.go | 22 ++++++++-------------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/main.go b/main.go index a5dc440..215bb79 100644 --- a/main.go +++ b/main.go @@ -37,10 +37,11 @@ func main() { Text: "Toggle Indicator", OnClicked: func() { + // a value of 1024 activates the overlay, a value of 0 deactivates it. Other values seem to deactivate it as well but you never know if indicatorStatus == 1024 { - setKeyOff() + setKey(0) } else { - setKeyOn() + setKey(1024) } getKey() indicatorTextLabel.SetText(indicatorStatusString) diff --git a/reg.go b/reg.go index 4a78f00..c8c73df 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 or registry path not accessible" + 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)) 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() - }