sub main()中的代码
我要实现的效果:
检测HKEY_CURRENT_USER\Software\VB and VBA Program Settings是否有wbpjytl\settings这个子项,如果没有则创建,然后检测是否有myc这个键名,没有则跳到form2;如果存在这个键,但这个键名的值不等于mp,跳到form2;如果存在这个键而且这个键的值等于mp,则进入form3.

解决方案 »

  1.   

    你要是有MSDN的话,可以看看GetAllSettings 和 GetSetting 的用法,其实看清楚了自己编更有好处
      

  2.   

    学习VB的话一定需要安装MSDN的
      

  3.   

    http://www.google.cn/search?hl=zh-CN&q=vb+%E6%B3%A8%E5%86%8C%E8%A1%A8&aq=f&oq=
      

  4.   

    这是我的代码,大家指正一下,不知道到底错在哪里。怎么无论myc的值等于多少都是直接进入form2,郁闷!!!
    Sub main()
    Dim hkey As Long, a As String
    RegCreateKey HKEY_CURRENT_USER, "Software\VB and VBA Program Settings\wbpjytl\settings", hkey
    Dim ret As Long
    ret = RegQueryValueEx(hkey, "myc", 0, REG_SZ, a, Len(a))
    If ret <> 0 Then
    form2.Show
    ElseIf ret = 0 Then
    Select Case a
    Case a = ""
    form2.Show
    Case a <> Val(mp)
    form2.Show
    Case Else
    form3.show
    End Select
    End If
    End Sub
      

  5.   

    Option ExplicitSub Main()
        Dim s As String
        
        s = GetSetting("wbpjytl", "settings", "myc")
        If s = "mp" Then
            Form3.Show
        Else
            Form2.Show
        End If
    End Sub
      

  6.   

    还是不行啊,8楼的代码直接跳到form3,因为一开始读入内存的时候没有键值,所以关键代码在没有检测到键值的时候进入form2,我试了N种代码还是不行啊郁闷
      

  7.   

    Option ExplicitSub Main()
        Dim s As String
        
        s = GetSetting("wbpjytl", "settings", "myc")
        Select Case s
            Case vbNullString
                SaveSetting "wbpjytl", "settings", "myc", "1234"
                Form2.Show
            Case "mp"
                Form3.Show
            Case Else
                Form2.Show
        End Select
    End Sub