“HKEY_CURRENT_USER\Control Panel\International”下的“sShortDate”值键设为“MM-dd-yyyy”VB操作注册表:
http://www.sqreg.com/file/vb/reg_01.htm
http://www.sqreg.com/file/vb/reg_02.htm
http://www.sqreg.com/file/vb/reg_03.htm
http://www.sqreg.com/file/vb/reg_04.htm
http://www.sqreg.com/file/vb/reg_05.htm
http://www.sqreg.com/file/vb/reg_06.htm
http://www.sqreg.com/file/vb/reg_07.htm

解决方案 »

  1.   

    '在窗体中:
    Private Sub Form_Load()
        Dim TempStr As String
        
        TempStr="MM-dd-yyyy"
        
        If RegSetStr(HKEY_CURRENT_USER, "Control Panel\International", sShortDate, TempStr) Then
            '不成功
        Else
            '成功
        End If
        
        
    End Sub'在模块中:
    Option Explicit
    '=== API =======================================
    '-=- Reg -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, 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'--- Const -------------------------------------
    Public Const KEY_CREATE_LINK = &H20
    Public Const KEY_CREATE_SUB_KEY = &H4
    Public Const KEY_ENUMERATE_SUB_KEYS = &H8
    Public Const KEY_NOTIFY = &H10
    Public Const KEY_QUERY_VALUE = &H1
    Public Const KEY_SET_VALUE = &H2
    'Public Const KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE))
    'Public Const KEY_WRITE = ((STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE))
    'Public Const KEY_EXECUTE = (KEY_READ)
    Public Const STANDARD_RIGHTS_ALL = &H1F0000
    Public Const SYNCHRONIZE = &H100000
    Public Const KEY_ALL_ACCESS = ((STANDARD_RIGHTS_ALL Or KEY_QUERY_VALUE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Or KEY_CREATE_LINK) And (Not SYNCHRONIZE))Public Const REG_SZ = 1Public Const HKEY_CLASSES_ROOT = &H80000000
    Public Const HKEY_CURRENT_CONFIG = &H80000005
    Public Const HKEY_CURRENT_USER = &H80000001
    Public Const HKEY_DYN_DATA = &H80000006
    Public Const HKEY_LOCAL_MACHINE = &H80000002
    Public Const HKEY_PERFORMANCE_DATA = &H80000004
    Public Const HKEY_USERS = &H80000003Public Function RegGetStr(MainKey As Long, SubKey As String, KeyName As String, OutData As String) As Long
        Dim hKey As Long
        Dim TempStr As String
        Dim StrLen As Long
        Dim KeyType As Long
        Dim Rc As Long
        
        StrLen = 260
        TempStr = String$(StrLen, Chr$(0))
        
        Rc = RegOpenKeyEx(MainKey, SubKey, 0, KEY_ALL_ACCESS, hKey)
        
        'Debug.Print "Load1:" & Rc
        If Rc = 0 Then
            Rc = RegQueryValueEx(hKey, KeyName, 0, KeyType, ByVal TempStr, StrLen)
            
            If KeyType <> REG_SZ Then
                RegGetStr = -1
                Exit Function
                
            End If
            
            'Debug.Print "Load2: " & Rc
            If Rc = 0 Then
                OutData = Left$(TempStr, StrLen)
                
            Else
                RegGetStr = Rc
                
            End If
            
            RegCloseKey hKey
            
        Else
            RegGetStr = Rc
            
        End If
        
    End FunctionPublic Function RegSetStr(MainKey As Long, SubKey As String, KeyName As String, SetData As String) As Long
        Dim hKey As Long
        Dim Rc As Long
        
        Rc = RegOpenKeyEx(MainKey, SubKey, 0, KEY_ALL_ACCESS, hKey)
        
        If Rc = 0 Then
            Rc = RegSetValueEx(hKey, KeyName, 0, REG_SZ, ByVal SetData, Len(SetData))
            
            If Rc = 0 Then
                
            Else
                RegSetStr = Rc
                
            End If
            RegCloseKey hKey
            
        Else
            RegSetStr = Rc
            
        End If
        
    End Function
      

  2.   

    错了,是:'在窗体中:
    Private Sub Form_Load()
        Dim TempStr As String
        
        TempStr="MM-dd-yyyy"
        
        If RegSetStr(HKEY_CURRENT_USER, "Control Panel\International", "sShortDate", TempStr) Then
            '不成功
        Else
            '成功
        End If
        
        
    End Sub
      

  3.   

    谢谢:zyl910(910:分儿,我来了!) 
    再次谢谢你一直回答我的问题
    散分