对于一个系统,它的设置用什么保存最好,注册表?。INI文件,例如自动登陆,等
如有好的建议,速回帖,谢谢,有原码更好。
如有好的建议,速回帖,谢谢,有原码更好。
解决方案 »
- 怎么才能给VB设计的软件加上立体点的图标呢!
- 我在一个旧工程使用,提示以下怪问题:
- 求助!怎么样记录汉字?
- 语言的差别------->进
- 急!急,那位大侠能帮一下忙
- 请教高手:怎样打印工资条,即每个人都带有表头,用activereport
- 怎样从Recordset中的图片字段,直接加载到Imagelist中,不中间专成文件
- 如何用vb实现批量文件下载?
- 如何动态生成text文本框?
- 怎样把Date类型转化为double类型 转化后 不会丢失精度,就是再转回Date后毫秒时间还在
- Win98中DAO设计MDB数据库软件到WinXP中"无法添加记录"错误号3256!
- 高分求解!!!用鼠标把一些偏旁部首拖到一起,只要能够组成一个字,就显示出来
'ModAPI.BAS
'Author: www.blanksoft
'
'Function: here are functions for Read/Write INI files & System Register
'Usage:
' 1 System Register: Call SaveReg("UserName", TxtUserName.Text)
' If LoadReg("UserName", sValue) = ERROR_SUCCESS Then
' 2 INI File: Call LoadINI(sINIFileName, sSectionName, "UserName", sTmp, "<None>")
' Call SaveINI(sINIFileName, sSectionName, "UserName", Trim(TxtUserName.Text))Option Explicit
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Public Const ERROR_SUCCESS = 0&
Public Const ERROR_ACCESS_DENIED = 5&
Public Const ERROR_INVALID_HANDLE = 6&
Public Const ERROR_BADDB = 1009&
Public Const ERROR_BADKEY = 1010&
Public Const ERROR_CANTOPEN = 1011&
Public Const ERROR_CANTREAD = 1012&
Public Const ERROR_CANTWRITE = 1013&
Public Const ERROR_REGISTRY_RECOVERED = 1014&
Public Const ERROR_REGISTRY_CORRUPT = 1015&
Public Const ERROR_REGISTRY_IO_FAILED = 1016&
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const REG_SZ = 1
'Below Function use for Read/Write INI File
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
' End of declare for Registry operation'Const for System Register
Public Const REG_KEY_POS = "SOFTWARE\NANetTech\Falcon Xpresship WareHouse"
'HKEY_LOCAL_MACHINE\SOFTWARE\NANetTech\Falcon Xpresship WareHouse
Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Public Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Const SW_SHOW = 5
'Other Function
Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
'Usage: Call CopyFile("Source.Dat", "Target.Dat", 1)'get my computer name
Public Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Public Const MAX_COMPUTERNAME_LENGTH = 31
Public Function SaveReg(ByVal sKeyName As String, ByVal sKeyValue As String) As Long
'Save sKeyValue at sKeyName to System Register
'If Success SaveReg Return ERROR_SUCCESS,otherwise return Error CodeDim lRetValue As Long
Dim lKeyID As LonglRetValue = RegCreateKey(HKEY_LOCAL_MACHINE, REG_KEY_POS, lKeyID)
If lRetValue = ERROR_SUCCESS Then
lRetValue = RegSetValueEx(lKeyID, sKeyName, 0&, REG_SZ, ByVal sKeyValue, LenB(sKeyValue))
lRetValue = RegCloseKey(lKeyID)
End If
SaveReg = lRetValue
End FunctionPublic Function LoadReg(ByVal sKeyName As String, sKeyValue As String, Optional ByVal sDefaultValue = "") As Long
'Load sKeyName from System Register,Return value at sKeyValue
'If Success LoadReg Return ERROR_SUCCESS,otherwise return Error Code
Dim lRetValue As Long
Dim lKeyID As Long
Dim lType As LongsKeyValue = String$(255, 0)
lRetValue = RegCreateKey(HKEY_LOCAL_MACHINE, REG_KEY_POS, lKeyID)
If lRetValue = ERROR_SUCCESS Then
lRetValue = RegQueryValueEx(lKeyID, sKeyName, 0&, lType, ByVal sKeyValue, LenB(sKeyValue))
If lRetValue = 0 Then
sKeyValue = Left$(sKeyValue, InStr(1, sKeyValue, Chr$(0)) - 1)
lRetValue = RegCloseKey(lKeyID)
Else
sKeyValue = sDefaultValue
Call RegCloseKey(lKeyID)
End If
End If
LoadReg = Trim(lRetValue)End Function
Public Function LoadINI(ByVal sINIFileName As String, ByVal sSectionName As String, ByVal sKeyName As String, sKeyValue As String, Optional ByVal sDefaultValue = "") As Long
'Load sKeyName from App.Path & "\" & INI_FILE_NAME,Return value at sKeyValue
'If Success LoadINI Return NONE ZERO,else return 0sKeyValue = Space(2048)
LoadINI = GetPrivateProfileString(sSectionName, sKeyName, sDefaultValue, sKeyValue, Len(sKeyValue), sINIFileName)
If LoadINI = 0 Then
sKeyValue = Trim(sDefaultValue)
Else
sKeyValue = Trim(sKeyValue)
End If
If Len(sKeyValue) > 0 Then
If Asc(Right(sKeyValue, 1)) = 0 Then
sKeyValue = Left(sKeyValue, Len(sKeyValue) - 1)
End If
End If
End FunctionPublic Function SaveINI(ByVal sINIFileName As String, ByVal sSectionName As String, ByVal sKeyName As String, ByVal sKeyValue As String) As Long
'Save sKeyValue at sKeyName to sINIFileName
'If Success SaveReg Return NONE ZERO,else return 0
SaveINI = WritePrivateProfileString(sSectionName, sKeyName, sKeyValue, sINIFileName)
End Function--------------
www.blanksoft.com