• 将程序配置存储在注册表


    Public Setup As Settings

    Public Type Settings
        EnRest As Boolean
        EnShut As Boolean
       
        OnBoot As Boolean
       
        RestTime As Integer
        IntervalRest As Integer
        IntervalSyn As Integer
        ShutTime As Date
       
        Server As String
    End Type

    Public Sub SaveSettings()
        SaveSetting "EnRest", Setup.EnRest
        SaveSetting "EnShut", Setup.EnShut
        SaveSetting "IntervalSyn", Setup.IntervalSyn
        SaveSetting "IntervalRest", Setup.IntervalRest
        SaveSetting "RestTime", Setup.RestTime
        SaveSetting "ShutTime", Format(Setup.ShutTime, "hh:nn:ss")
        SaveSetting "Server", Setup.Server
        SetOnBoot Setup.OnBoot
    End Sub

    Public Sub ReadSettings()
        On Error Resume Next
        Setup.EnRest = ReadSetting("EnRest")
        Setup.EnShut = ReadSetting("EnShut")
        Setup.IntervalSyn = ReadSetting("IntervalSyn")
        Setup.IntervalRest = ReadSetting("IntervalRest")
        Setup.RestTime = ReadSetting("RestTime")
        Setup.ShutTime = CDate(ReadSetting("ShutTime"))
        Setup.Server = ReadSetting("Server")
        On Error GoTo 0
        Setup.OnBoot = OnBoot
    End Sub

    Private Sub SaveSetting(ByVal Key As String, ByVal value As String)
        If Not CBool(UpdateKey(HKEY_LOCAL_MACHINE, "Software" & App.ProductName, Key, value)) Then
            UpdateKey HKEY_CURRENT_USER, "Software" & App.ProductName, Key, value
        End If
    End Sub

    Private Function ReadSetting(ByVal Key As String)
        ReadSetting = GetKeyValue(HKEY_LOCAL_MACHINE, "Software" & App.ProductName, Key)
        If Trim(ReadSetting) = "" Then
            ReadSetting = GetKeyValue(HKEY_CURRENT_USER, "Software" & App.ProductName, Key)
        End If
    End Function

    Private Function OnBoot() As Boolean
        Dim boot As String
        boot = GetKeyValue(HKEY_LOCAL_MACHINE, "SOFTWAREMicrosoftWindowsCurrentVersionRun", App.EXEName)
        If Trim(boot) = "" Then
            boot = GetKeyValue(HKEY_CURRENT_USER, "SOFTWAREMicrosoftWindowsCurrentVersionRun", App.EXEName)
        End If
       
        If Trim(boot) <> "" Then
            OnBoot = True
        End If
    End Function

    Private Sub SetOnBoot(ByVal boot As Boolean)
        If boot Then
            If Not UpdateKey(HKEY_LOCAL_MACHINE, "SOFTWAREMicrosoftWindowsCurrentVersionRun", App.EXEName, App.Path & "" & App.EXEName & ".exe") Then
                UpdateKey HKEY_CURRENT_USER, "SOFTWAREMicrosoftWindowsCurrentVersionRun", App.EXEName, App.Path & "" & App.EXEName & ".exe"
            End If
        Else
            DeleteValues HKEY_LOCAL_MACHINE, "SOFTWAREMicrosoftWindowsCurrentVersionRun", App.EXEName
            DeleteValues HKEY_CURRENT_USER, "SOFTWAREMicrosoftWindowsCurrentVersionRun", App.EXEName
        End If
    End Sub

    相关函数请查看注册表读写

  • 相关阅读:
    经过改良后可以导出超过70000条数据的导出公共excel类
    一个简单的文档导出公共处理类
    网上找的正则验证邮箱手机等代码
    springMvc IE浏览器 前台中文参数 乱码问题解决方法
    国际化
    验证框架
    基于注解来装配Bean的属性
    aop
    自定义属性编辑器
    propertyPlaceholderConfigurer 和propertyOverrideConfigurer
  • 原文地址:https://www.cnblogs.com/lbnnbs/p/4784617.html
Copyright © 2020-2023  润新知