home *** CD-ROM | disk | FTP | other *** search
/ Prima Shareware 3 / DuCom_Prima-Shareware-3_cd1.bin / PROGRAMO / VB40 / REGVB4 / REGDEMO.FRM (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1995-10-19  |  9.3 KB  |  246 lines

  1. VERSION 4.00
  2. Begin VB.Form Form1 
  3.    Caption         =   "Win32 RegDemo"
  4.    ClientHeight    =   4980
  5.    ClientLeft      =   1116
  6.    ClientTop       =   1836
  7.    ClientWidth     =   7584
  8.    Height          =   5352
  9.    Icon            =   "REGDEMO.frx":0000
  10.    Left            =   1068
  11.    LinkTopic       =   "Form1"
  12.    ScaleHeight     =   4980
  13.    ScaleWidth      =   7584
  14.    Top             =   1512
  15.    Width           =   7680
  16.    Begin VB.TextBox Text1 
  17.       BackColor       =   &H8000000F&
  18.       Height          =   288
  19.       Left            =   180
  20.       Locked          =   -1  'True
  21.       TabIndex        =   5
  22.       Text            =   "My Computer"
  23.       Top             =   4560
  24.       Width           =   7272
  25.    End
  26.    Begin ComctlLib.ListView ListView1 
  27.       Height          =   3672
  28.       Left            =   3480
  29.       TabIndex        =   4
  30.       Top             =   300
  31.       Width           =   3132
  32.       _Version        =   65536
  33.       _ExtentX        =   5525
  34.       _ExtentY        =   6477
  35.       _StockProps     =   205
  36.       ForeColor       =   -2147483640
  37.       BackColor       =   -2147483643
  38.       Appearance      =   1
  39.       Icons           =   ""
  40.       LabelEdit       =   1
  41.       LabelWrap       =   0   'False
  42.       SmallIcons      =   "ImageList1"
  43.       View            =   3
  44.    End
  45.    Begin ComctlLib.ImageList ImageList1 
  46.       Left            =   7020
  47.       Top             =   4380
  48.       _Version        =   65536
  49.       _ExtentX        =   804
  50.       _ExtentY        =   804
  51.       _StockProps     =   1
  52.       BackColor       =   -2147483643
  53.       ImageWidth      =   16
  54.       ImageHeight     =   16
  55.       MaskColor       =   -2147483643
  56.       NumImages       =   6
  57.       i1              =   "REGDEMO.frx":030A
  58.       i2              =   "REGDEMO.frx":04C1
  59.       i3              =   "REGDEMO.frx":0678
  60.       i4              =   "REGDEMO.frx":0B6F
  61.       i5              =   "REGDEMO.frx":0D26
  62.       i6              =   "REGDEMO.frx":0EDD
  63.    End
  64.    Begin ComctlLib.TreeView TreeView1 
  65.       Height          =   3672
  66.       Left            =   180
  67.       TabIndex        =   3
  68.       Top             =   300
  69.       Width           =   3192
  70.       _Version        =   65536
  71.       _ExtentX        =   5630
  72.       _ExtentY        =   6477
  73.       _StockProps     =   196
  74.       Appearance      =   1
  75.       BorderStyle     =   1
  76.       ImageList       =   "ImageList1"
  77.       Indentation     =   2
  78.       LabelEdit       =   1
  79.       LineStyle       =   1
  80.       PathSeparator   =   "\"
  81.       Sorted          =   -1  'True
  82.       Style           =   7
  83.    End
  84.    Begin VB.Label Label4 
  85.       Appearance      =   0  'Flat
  86.       Caption         =   "Double-Click a Value to edit it"
  87.       ForeColor       =   &H80000008&
  88.       Height          =   252
  89.       Left            =   4020
  90.       TabIndex        =   2
  91.       Top             =   4200
  92.       Width           =   3312
  93.    End
  94.    Begin VB.Label Label3 
  95.       Appearance      =   0  'Flat
  96.       Caption         =   "Double-Click a Key to expand it"
  97.       ForeColor       =   &H80000008&
  98.       Height          =   252
  99.       Left            =   120
  100.       TabIndex        =   1
  101.       Top             =   4200
  102.       Width           =   3612
  103.    End
  104.    Begin VB.Label Label1 
  105.       Appearance      =   0  'Flat
  106.       Caption         =   "Key Name"
  107.       ForeColor       =   &H80000008&
  108.       Height          =   192
  109.       Left            =   60
  110.       TabIndex        =   0
  111.       Top             =   60
  112.       Width           =   1272
  113.    End
  114. Attribute VB_Name = "Form1"
  115. Attribute VB_Creatable = False
  116. Attribute VB_Exposed = False
  117. Option Explicit
  118. Dim OsVers As OsVersionInfo
  119. Private Sub Form_Load()
  120.     Width = 600 * Screen.TwipsPerPixelX
  121.     CenterForm Me
  122.     Dim nodX As Node
  123.     Dim ClmHdr As ColumnHeader
  124.     '-----------------------------------------------------
  125.     ' add columns to listview control
  126.     '-----------------------------------------------------
  127.     Set ClmHdr = ListView1.ColumnHeaders.Add()
  128.     ClmHdr.Text = "Name"
  129.     ClmHdr.Width = ListView1.Width / 3
  130.     Set ClmHdr = Me.ListView1.ColumnHeaders.Add()
  131.     ClmHdr.Text = "Data"
  132.     ClmHdr.Width = 3 * ListView1.Width / 2
  133.     '-----------------------------------------------------
  134.     'First we find out what Windows is running. There are a
  135.     'couple of registry keys in Win95 that are not present
  136.     'in Windows NT
  137.     '-----------------------------------------------------
  138.     OsVers.dwVersionInfoSize = 148&
  139.     lTempLong = GetVersionEx(OsVers)
  140.     Select Case OsVers.dwPlatform
  141.         Case VER_PLATFORM_WIN32_NT
  142.             iWinVers = WinNt
  143.         Case VER_PLATFORM_WIN32_WINDOWS
  144.             iWinVers = Win32
  145.         Case Else 'Shouldn't happen
  146.             MsgBox "This program is intended only for use with 32-bit Windows versions."
  147.             Unload Form1
  148.     End Select
  149.        
  150.     '-----------------------------------------------------
  151.     'Start the TreeView with a toplevel key
  152.     '-----------------------------------------------------
  153.     Set nodX = TreeView1.Nodes.Add(, , "main", "My Computer", 3)
  154.     '-----------------------------------------------------
  155.     'Put in Public main keys
  156.     '-----------------------------------------------------
  157.     Set nodX = TreeView1.Nodes.Add("main", tvwChild, "HKEY_CLASSES_ROOT", "HKEY_CLASSES_ROOT", 1)
  158.     nodX.EnsureVisible 'Forces the tree open to this level
  159.     nodX.ExpandedImage = 2
  160.     nodX.SelectedImage = 2
  161.     RegEnumKeys nodX, False 'Enumerate a single rgeSubKey, to put a + on the key
  162.     Set nodX = TreeView1.Nodes.Add("main", tvwChild, "HKEY_CURRENT_USER", "HKEY_CURRENT_USER", 1)
  163.     nodX.ExpandedImage = 2
  164.     nodX.SelectedImage = 2
  165.     RegEnumKeys nodX, False
  166.     Set nodX = TreeView1.Nodes.Add("main", tvwChild, "HKEY_LOCAL_MACHINE", "HKEY_LOCAL_MACHINE", 1)
  167.     nodX.ExpandedImage = 2
  168.     nodX.SelectedImage = 2
  169.     RegEnumKeys nodX, False
  170.     Set nodX = TreeView1.Nodes.Add("main", tvwChild, "HKEY_USERS", "HKEY_USERS", 1)
  171.     nodX.ExpandedImage = 2
  172.     nodX.SelectedImage = 2
  173.     RegEnumKeys nodX, False
  174.     '-----------------------------------------------------
  175.     'Put in version-specific main keys
  176.     'HKEY_PERFORMANCE_DATA does not respond in a normal fashion
  177.     'to key queries.  Note it does not appear in REGEDT32.
  178.     'If iWinVers = WinNT Then
  179.         'treeview1.AddItem "HKEY_PERFORMANCE_DATA"
  180.     'End If
  181.     '-----------------------------------------------------
  182.     If iWinVers = Win32 Then
  183.         Set nodX = TreeView1.Nodes.Add("main", tvwChild, "HKEY_CURRENT_CONFIG", "HKEY_CURRENT_CONFIG", 1)
  184.         nodX.ExpandedImage = 2
  185.         nodX.SelectedImage = 2
  186.         RegEnumKeys nodX, False
  187.         Set nodX = TreeView1.Nodes.Add("main", tvwChild, "HKEY_DYN_DATA", "HKEY_DYN_DATA", 1)
  188.         nodX.ExpandedImage = 2
  189.         nodX.SelectedImage = 2
  190.         RegEnumKeys nodX, False
  191.     End If
  192.     '-----------------------------------------------------
  193.     'Setup hourglass cursor
  194.     '-----------------------------------------------------
  195.     iWaitCursor = LoadCursor(0, IDC_WAIT)
  196. End Sub
  197. Private Sub Form_Resize()
  198.     '-----------------------------------------------------
  199.     'Resize controls when the user resizes the form.
  200.     '-----------------------------------------------------
  201.     On Error GoTo ReSizeError
  202.     TreeView1.Move 60, TreeView1.Top, (ScaleWidth / 2) - 300, ScaleHeight - 1200
  203.     ListView1.Move TreeView1.Width + 90, TreeView1.Top, TreeView1.Width + 480, TreeView1.Height
  204.     Label1.Left = TreeView1.Left + 60
  205.     Label3.Move 90, TreeView1.Top + TreeView1.Height + 150
  206.     Label4.Move ListView1.Left + 90, Label3.Top
  207.     Text1.Move TreeView1.Left, Label3.Top + Label3.Height + 150, ScaleWidth - 2 * TreeView1.Left
  208.     Exit Sub
  209. ReSizeError:
  210.     Exit Sub
  211. End Sub
  212. Private Sub listview1_DblClick()
  213.     ' if nothing selected get out
  214.     If Not (ListView1.SelectedItem Is Nothing) Then
  215.         '----------------------------------------------------------
  216.         'Call EditRegValue to load the value into the editor.
  217.         '----------------------------------------------------------
  218.         EditRegValue TreeView1.Nodes(TreeView1.SelectedItem.Key), CLng(ListView1.ListItems(ListView1.SelectedItem.Index).Tag)
  219.     End If
  220. End Sub
  221. Private Sub TreeView1_Expand(ByVal Node As Node)
  222. If Node.Children > 1 Then Exit Sub
  223. If Node.Text = "My Computer" Then Exit Sub
  224.     RegEnumKeys Node, True
  225.     Node.Sorted = True
  226. End Sub
  227. Private Sub TreeView1_NodeClick(ByVal Node As Node)
  228.     '-----------------------------------------------------
  229.     'Empty the value list.
  230.     '-----------------------------------------------------
  231.     ListView1.ListItems.Clear
  232.     '-----------------------------------------------------
  233.     'Remember which line was clicked when we start
  234.     '   moving up and down the list.
  235.     '-----------------------------------------------------
  236.     RegEntry.rgeSubKey = Node.FullPath
  237.     Text1 = Node.FullPath
  238.     If RegEntry.rgeSubKey = "My Computer" Then Exit Sub
  239.     '-----------------------------------------------------
  240.     'Now enumerate all values belonging to this key
  241.     '-----------------------------------------------------
  242.     ListView1.Sorted = False
  243.     RegEnumValues
  244.     ListView1.Sorted = True
  245. End Sub
  246.