50 lines
1.8 KiB
Python
50 lines
1.8 KiB
Python
import winreg
|
|
|
|
|
|
class Registry:
|
|
def __init__(self):
|
|
self.regInit()
|
|
self.ArchivePath, self.CDRomPath = self.regRead()
|
|
|
|
# Initialize registry with values if there are none
|
|
@staticmethod
|
|
def regInit():
|
|
reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER)
|
|
|
|
# Key
|
|
try:
|
|
key = winreg.OpenKeyEx(reg, r"SOFTWARE\Dicom Extractor 2023", 0, winreg.KEY_ALL_ACCESS)
|
|
except FileNotFoundError:
|
|
winreg.CreateKey(reg, r"SOFTWARE\Dicom Extractor 2023")
|
|
key = winreg.OpenKeyEx(reg, r"SOFTWARE\Dicom Extractor 2023", 0, winreg.KEY_ALL_ACCESS)
|
|
|
|
# Value ArchivePath
|
|
try:
|
|
_ = winreg.QueryValueEx(key, "ArchivePath")
|
|
except FileNotFoundError:
|
|
winreg.SetValueEx(key, "ArchivePath", 0, winreg.REG_SZ, "Init")
|
|
|
|
# Value CDRomPath
|
|
try:
|
|
_ = winreg.QueryValueEx(key, "CDRomPath")
|
|
except FileNotFoundError:
|
|
winreg.SetValueEx(key, "CDRomPath", 0, winreg.REG_SZ, "C")
|
|
|
|
# Read values
|
|
@staticmethod
|
|
def regRead():
|
|
reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER)
|
|
key = winreg.OpenKeyEx(reg, r"SOFTWARE\Dicom Extractor 2023", 0, winreg.KEY_ALL_ACCESS)
|
|
archivePath = winreg.QueryValueEx(key, "ArchivePath")
|
|
cdromPath = winreg.QueryValueEx(key, "CDRomPath")
|
|
|
|
return archivePath[0], cdromPath[0]
|
|
|
|
# Write values
|
|
@staticmethod
|
|
def regWrite(ArchivePath, CDRomPath):
|
|
reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER)
|
|
key = winreg.OpenKeyEx(reg, r"SOFTWARE\Dicom Extractor 2023", 0, winreg.KEY_ALL_ACCESS)
|
|
winreg.SetValueEx(key, "ArchivePath", 0, winreg.REG_SZ, ArchivePath)
|
|
winreg.SetValueEx(key, "CDRomPath", 0, winreg.REG_SZ, CDRomPath)
|