zoukankan      html  css  js  c++  java
  • 将程序配置存储在注册表

    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

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

  • 相关阅读:
    3.09_面向对象(包、修饰符和内部类)
    3.08_面向对象(多态的概述及其代码体现)
    3.07_面向对象(继承)
    3.06_面向对象(代码块的概述和分类)
    3.05_面向对象(java文档说明书的制作过程)
    3.04_面向对象基础((main方法的格式详细解释)
    3.03_面向对象(static关键字及内存图)
    3.02面向对象(创建一个对象的步骤)
    3.01_面向对象基础(构造方法)
    2.02_Java语言基础(循环结构概述)
  • 原文地址:https://www.cnblogs.com/lbnnbs/p/4784617.html
Copyright © 2011-2022 走看看