Imports Microsoft.Win32.Registry Namespace UTSModule ''' ''' 从注册表中获取UTS软件运行所需的变量值 ''' ''' 注意: ''' 使用时避免反复读写注册表,应将获取的字段值保存至变量中; ''' 获取字段失败时会程序异,使用时做好异常保护; ''' 只读的变量是从注册表中获取的字段根据规则拼接而成的; ''' Public Class UtsRegistry Enum RegistryDirNameEnum ''' 数据服务 AUTS_DataService ''' 更新服务 AUTS_UpdateService ''' 鉴权文件 License ''' 数据库文件夹 LocalDb ''' 产品相关 Product End Enum ''' ''' 注册表存放根路径配置信息 ''' Private Shared ReadOnly AutsRegistryRootPath As String = $"software\AUTS" ''' ''' 获取注册表是否存在 ''' ''' Public Shared Function RootDirExists() As Boolean Return LocalMachine.OpenSubKey(AutsRegistryRootPath) IsNot Nothing End Function ''' ''' 获取和设置UTS软件存放位置的根文件路径,如C:/AUTS ''' ''' Public Shared Property RootPath() As String Get Return LocalMachine.OpenSubKey($"{AutsRegistryRootPath}").GetValue("Path", "").ToString() End Get Set(value As String) LocalMachine.CreateSubKey($"{AutsRegistryRootPath}").SetValue("Path", value, Microsoft.Win32.RegistryValueKind.String) End Set End Property ''' ''' 获取和设置UTS软件Ftp所在地址 ''' ''' Public Shared Property FtpHost() As String Get Return LocalMachine.OpenSubKey($"{AutsRegistryRootPath}").GetValue("FtpHost", "").ToString() End Get Set(value As String) LocalMachine.CreateSubKey($"{AutsRegistryRootPath}").SetValue("FtpHost", value, Microsoft.Win32.RegistryValueKind.String) End Set End Property ''' ''' 获取和设置数据库URL所在地址 ''' ''' Public Shared Property DbHost() As String Get Return LocalMachine.OpenSubKey($"{AutsRegistryRootPath}").GetValue("DbHost", "").ToString() End Get Set(value As String) LocalMachine.CreateSubKey($"{AutsRegistryRootPath}").SetValue("DbHost", value, Microsoft.Win32.RegistryValueKind.String) End Set End Property ''' ''' 子网名称,用于过滤多播时非相同子网名称数据包 ''' ''' Public Shared Property BarnchNet As String Get Return LocalMachine.OpenSubKey($"{AutsRegistryRootPath}").GetValue("BarnchNet", "").ToString() End Get Set(value As String) LocalMachine.CreateSubKey($"{AutsRegistryRootPath}").SetValue("BarnchNet", value, Microsoft.Win32.RegistryValueKind.String) End Set End Property ''' ''' 设备在子网中的角色,0为普通设备,1为服务器设备 ''' ''' Public Shared Property Roles As String Get Return LocalMachine.OpenSubKey($"{AutsRegistryRootPath}").GetValue("Roles", "0").ToString() End Get Set(value As String) LocalMachine.CreateSubKey($"{AutsRegistryRootPath}").SetValue("Roles", value, Microsoft.Win32.RegistryValueKind.String) End Set End Property ''' ''' 获取和设置License文件名 ''' ''' Public Shared Property LicenseFileName() As String Get Return LocalMachine.OpenSubKey($"{AutsRegistryRootPath}\{RegistryDirNameEnum.License}").GetValue("Name", "").ToString() End Get Set(value As String) LocalMachine.CreateSubKey($"{AutsRegistryRootPath}\{RegistryDirNameEnum.License}").SetValue("Name", value, Microsoft.Win32.RegistryValueKind.String) End Set End Property Public Shared ReadOnly Property LicenseDirPath() As String Get Return $"{RootPath}\{RegistryDirNameEnum.License}" End Get End Property Public Shared ReadOnly Property LicenseFilePath() As String Get Return $"{LicenseDirPath}\{LicenseFileName}" End Get End Property ''' ''' 获取和设置DataService名称 ''' ''' Public Shared Property DataServiceName() As String Get Return LocalMachine.OpenSubKey($"{AutsRegistryRootPath}\{RegistryDirNameEnum.AUTS_DataService}").GetValue("Name", "").ToString() End Get Set(value As String) LocalMachine.CreateSubKey($"{AutsRegistryRootPath}\{RegistryDirNameEnum.AUTS_DataService}").SetValue("Name", value, Microsoft.Win32.RegistryValueKind.String) End Set End Property ''' ''' 获取和设置DataService版本信息 ''' ''' Public Shared Property DataServiceVersion() As String Get Return LocalMachine.OpenSubKey($"{AutsRegistryRootPath}\{RegistryDirNameEnum.AUTS_DataService}").GetValue("Version", "").ToString() End Get Set(value As String) LocalMachine.CreateSubKey($"{AutsRegistryRootPath}\{RegistryDirNameEnum.AUTS_DataService}").SetValue("Version", value, Microsoft.Win32.RegistryValueKind.String) End Set End Property ''' ''' 获取或设置服务的索引,默认值为-1 ''' ''' Public Shared Property DataServiceIndex() As String Get Return LocalMachine.OpenSubKey($"{AutsRegistryRootPath}\{RegistryDirNameEnum.AUTS_DataService}").GetValue("Index", "-1").ToString() End Get Set(value As String) LocalMachine.CreateSubKey($"{AutsRegistryRootPath}\{RegistryDirNameEnum.AUTS_DataService}").SetValue("Index", value, Microsoft.Win32.RegistryValueKind.String) End Set End Property ''' ''' 获取或设置服务的通讯端口,默认端口55533 ''' ''' Public Shared Property DataServicePort() As String Get Return LocalMachine.OpenSubKey($"{AutsRegistryRootPath}\{RegistryDirNameEnum.AUTS_DataService}").GetValue("Port", "55533").ToString() End Get Set(value As String) LocalMachine.CreateSubKey($"{AutsRegistryRootPath}\{RegistryDirNameEnum.AUTS_DataService}").SetValue("Port", value, Microsoft.Win32.RegistryValueKind.String) End Set End Property ''' ''' 服务注册时使用的自定义标识名 ''' ''' Public Shared Property DataServiceAlias() As String Get Return LocalMachine.OpenSubKey($"{AutsRegistryRootPath}\{RegistryDirNameEnum.AUTS_DataService}").GetValue("Alias", "").ToString() End Get Set(value As String) LocalMachine.CreateSubKey($"{AutsRegistryRootPath}\{RegistryDirNameEnum.AUTS_DataService}").SetValue("Alias", value, Microsoft.Win32.RegistryValueKind.String) End Set End Property ''' ''' 存放数据服务文件夹,不包含版本文件夹 ''' ''' Public Shared ReadOnly Property DataServiceDirPath() As String Get Return $"{RootPath}\{RegistryDirNameEnum.AUTS_DataService}" End Get End Property ''' ''' 数据服务版本文件夹 ''' ''' Public Shared ReadOnly Property DataServiceVersionDirPath() As String Get Return $"{RootPath}\{RegistryDirNameEnum.AUTS_DataService}" End Get End Property ''' ''' 获取数据服务执行文件的路径 ''' ''' Public Shared ReadOnly Property DataServiceFilePath() As String Get Return $"{RootPath}\{RegistryDirNameEnum.AUTS_DataService}\{DataServiceVersion}\{DataServiceName}.exe" End Get End Property ''' ''' 获取和设置UpdateService名称 ''' ''' Public Shared Property UpdateServiceName() As String Get Return LocalMachine.OpenSubKey($"{AutsRegistryRootPath}\{RegistryDirNameEnum.AUTS_UpdateService}").GetValue("Name", "").ToString() End Get Set(value As String) LocalMachine.CreateSubKey($"{AutsRegistryRootPath}\{RegistryDirNameEnum.AUTS_UpdateService}").SetValue("Name", value, Microsoft.Win32.RegistryValueKind.String) End Set End Property ''' ''' 获取和设置UpdateService版本信息 ''' ''' Public Shared Property UpdateServiceVersion() As String Get Return LocalMachine.OpenSubKey($"{AutsRegistryRootPath}\{RegistryDirNameEnum.AUTS_UpdateService}").GetValue("Version", "").ToString() End Get Set(value As String) LocalMachine.CreateSubKey($"{AutsRegistryRootPath}\{RegistryDirNameEnum.AUTS_UpdateService}").SetValue("Version", value, Microsoft.Win32.RegistryValueKind.String) End Set End Property ''' ''' 获取和设置UpdateService文件夹路径,不包含版本文件夹 ''' ''' Public Shared ReadOnly Property UpdateServiceDirPath() As String Get Return $"{RootPath}\{RegistryDirNameEnum.AUTS_UpdateService}" End Get End Property ''' ''' 获取和设置UpdateService当前版本文件夹路径 ''' ''' Public Shared ReadOnly Property UpdateServiceVersionDirPath() As String Get Return $"{RootPath}\{RegistryDirNameEnum.AUTS_UpdateService}\{UpdateServiceVersion}" End Get End Property ''' ''' 获取数据服务执行文件的路径 ''' ''' Public Shared ReadOnly Property UpdateServiceFilePath() As String Get Return $"{RootPath}\{RegistryDirNameEnum.AUTS_UpdateService}\{UpdateServiceVersion}\{UpdateServiceName}.exe" End Get End Property ''' ''' 本地数据库文件夹 ''' ''' Public Shared ReadOnly Property LocalDbDirPath() As String Get Return $"{RootPath}\{RegistryDirNameEnum.LocalDb}" End Get End Property ''' ''' 本地产品图像文件夹 ''' ''' Public Shared ReadOnly Property ProductDirPath() As String Get Return $"{RootPath}\{RegistryDirNameEnum.Product}" End Get End Property End Class End Namespace