From c456bd4ba6a5a3a733ee30b5207413fd86ab7bed Mon Sep 17 00:00:00 2001 From: Alexey Galkin Date: Fri, 1 Feb 2019 19:29:46 +0300 Subject: Implement Xbox DVR disabling --- README.md | 8 ++++++++ dwt.py | 7 +++++++ dwt_util.py | 17 +++++++++++++++++ 3 files changed, 32 insertions(+) diff --git a/README.md b/README.md index 9c69793..f90937e 100644 --- a/README.md +++ b/README.md @@ -91,6 +91,14 @@ Runs `C:\Windows\SysWOW64\OneDriveSetup.exe /uninstall` (64 bit) or Also disables registry entries that keep the OneDrive Icon pinned to your Windows Explorer list: ![OneDrive Example Image](http://i.imgur.com/26yfnGD.png) +#### Xbox DVR + +Action: +* Disable: Set the `GameDVR_Enabled` registry key for both services to `0` (Disabled) Located at `HKEY_CURRENT_USER\System\GameConfigStore` +* Disable: Set the `AllowGameDVR` registry key for both services to `0` (Disabled) Located at `HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\GameDVR` + +This action requires reboot computer for completely applying. + ## Delete Services vs Disable Services? Selecting "Disable" will simply stop the services from being able to run. diff --git a/dwt.py b/dwt.py index 72a5f25..113f212 100644 --- a/dwt.py +++ b/dwt.py @@ -148,6 +148,10 @@ class MainPanel(wx.Panel): self.onedrive_check = wx.CheckBox(self, label="Uninstall OneDrive") self.onedrive_check.SetToolTip("Uninstalls OneDrive from your computer and removes it from Explorer.") + # Xbox DVR checkbox + self.dvr_check = wx.CheckBox(self, label="Disable Xbox DVR") + self.dvr_check.SetToolTip("Disable Xbox DVR feature to increase FPS in games") + self.service_rad = wx.RadioBox(self, label="Service Method", choices=("Disable", "Delete")) self.service_rad.SetItemToolTip(item=0, text="Simply disables the services. This can be undone.") self.service_rad.SetItemToolTip(item=1, text="Deletes the services completely. This can't be undone.") @@ -245,6 +249,7 @@ class MainPanel(wx.Panel): check_sizer.Add(self.defender_check, 0, wx.ALL, 1) check_sizer.Add(self.wifisense_check, 0, wx.ALL, 1) check_sizer.Add(self.onedrive_check, 0, wx.ALL, 1) + check_sizer.Add(self.dvr_check, 0, wx.ALL, 1) #self.Bind(wx.EVT_CHECKBOX, handler=self.select_all_apps, source=select_all_check) self.Bind(wx.EVT_CHECKBOX, handler=self.ip_warn, source=self.ip_check) @@ -316,6 +321,8 @@ class MainPanel(wx.Panel): dwt_util.wifisense(undo=undo) if self.onedrive_check.IsChecked(): dwt_util.onedrive(undo=undo) + if self.dvr_check.IsChecked(): + dwt_util.dvr(undo=undo) logger.info("Done. It's recommended that you reboot as soon as possible for the full effect.") logger.info(("If you feel something didn't work properly, please press the 'Report an issue'" " button and follow the directions")) diff --git a/dwt_util.py b/dwt_util.py index 4ad1c6f..68db665 100644 --- a/dwt_util.py +++ b/dwt_util.py @@ -354,3 +354,20 @@ def subprocess_handler(cmd): # subprocess.call("powershell -EncodedCommand {0}".format(encodedcommand), shell=True) # except (WindowsError, IOError): # print "App management: Could not re-install all apps" + +def dvr(undo): + game_dvr_enabled = allow_game_dvr = 0 + action = "disabled" + if undo: + game_dvr_enabled = allow_game_dvr = 1 + action = "enabled" + + dvr_keys = {'GameDVR_Enabled': [winreg.HKEY_CURRENT_USER, + r'System\GameConfigStore', + 'GameDVR_Enabled', winreg.REG_DWORD, game_dvr_enabled], + 'AllowGameDVR': [winreg.HKEY_LOCAL_MACHINE, + r'SOFTWARE\Policies\Microsoft\Windows\GameDVR', + 'AllowGameDVR', winreg.REG_DWORD, allow_game_dvr]} + + set_registry(dvr_keys) +logger.info("Xbox DVR: successfully {action}".format(action=action)) -- cgit v1.2.3