Handle no DLSS support error #1

Merged
AlexZorzi merged 2 commits from master into master 2022-08-18 14:47:30 +02:00
2 changed files with 11 additions and 16 deletions

View file

@ -37,10 +37,11 @@ func main() {
Text: "Toggle Indicator", Text: "Toggle Indicator",
OnClicked: func() { 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 { if indicatorStatus == 1024 {
setKeyOff() setKey(0)
} else { } else {
setKeyOn() setKey(1024)
} }
getKey() getKey()
indicatorTextLabel.SetText(indicatorStatusString) indicatorTextLabel.SetText(indicatorStatusString)

22
reg.go
View file

@ -5,8 +5,11 @@ import (
) )
func getKey() { 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") value, _, _ := key.GetIntegerValue("ShowDlssIndicator")
defer key.Close() defer key.Close()
@ -20,18 +23,9 @@ func getKey() {
indicatorStatusString = "NOT SET" indicatorStatusString = "NOT SET"
} }
} }
func setKeyOn() {
func setKey(value int) {
key, _ := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\NVIDIA Corporation\Global\NGXCore`, registry.SET_VALUE) key, _ := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\NVIDIA Corporation\Global\NGXCore`, registry.SET_VALUE)
key.SetDWordValue("ShowDlssIndicator", uint32(value))
key.SetDWordValue("ShowDlssIndicator", uint32(1024))
defer key.Close() 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()
} }