home *** CD-ROM | disk | FTP | other *** search
/ Tools / WinSN5.0Ver.iso / PVb5.0 / VB / TEMPLATE / FORMS / ABOUTB.FRM (.txt) next >
Encoding:
Visual Basic Form  |  1997-02-17  |  8.9 KB  |  222 lines

  1. VERSION 5.00
  2. Begin VB.Form frmAbout 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "
  5.  MyApp"
  6.    ClientHeight    =   3555
  7.    ClientLeft      =   2340
  8.    ClientTop       =   1935
  9.    ClientWidth     =   5730
  10.    ClipControls    =   0   'False
  11.    LinkTopic       =   "Form2"
  12.    MaxButton       =   0   'False
  13.    MinButton       =   0   'False
  14.    ScaleHeight     =   2453.724
  15.    ScaleMode       =   0  'User
  16.    ScaleWidth      =   5380.766
  17.    ShowInTaskbar   =   0   'False
  18.    Begin VB.PictureBox picIcon 
  19.       AutoSize        =   -1  'True
  20.       ClipControls    =   0   'False
  21.       Height          =   540
  22.       Left            =   240
  23.       Picture         =   "aboutb.frx":0000
  24.       ScaleHeight     =   337.12
  25.       ScaleMode       =   0  'User
  26.       ScaleWidth      =   337.12
  27.       TabIndex        =   1
  28.       Top             =   240
  29.       Width           =   540
  30.    End
  31.    Begin VB.CommandButton cmdOK 
  32.       Cancel          =   -1  'True
  33.       Caption         =   "
  34.       Default         =   -1  'True
  35.       Height          =   345
  36.       Left            =   4125
  37.       TabIndex        =   0
  38.       Top             =   2625
  39.       Width           =   1500
  40.    End
  41.    Begin VB.CommandButton cmdSysInfo 
  42.       Caption         =   "
  43. (&S)..."
  44.       Height          =   345
  45.       Left            =   4140
  46.       TabIndex        =   2
  47.       Top             =   3075
  48.       Width           =   1485
  49.    End
  50.    Begin VB.Line Line1 
  51.       BorderColor     =   &H00808080&
  52.       BorderStyle     =   6  'Inside Solid
  53.       Index           =   1
  54.       X1              =   84.515
  55.       X2              =   5309.398
  56.       Y1              =   1687.583
  57.       Y2              =   1687.583
  58.    End
  59.    Begin VB.Label lblDescription 
  60.       Caption         =   "
  61.       ForeColor       =   &H00000000&
  62.       Height          =   1170
  63.       Left            =   1050
  64.       TabIndex        =   3
  65.       Top             =   1125
  66.       Width           =   3885
  67.    End
  68.    Begin VB.Label lblTitle 
  69.       Caption         =   "
  70.       ForeColor       =   &H00000000&
  71.       Height          =   480
  72.       Left            =   1050
  73.       TabIndex        =   5
  74.       Top             =   240
  75.       Width           =   3885
  76.    End
  77.    Begin VB.Line Line1 
  78.       BorderColor     =   &H00FFFFFF&
  79.       BorderWidth     =   2
  80.       Index           =   0
  81.       X1              =   98.6
  82.       X2              =   5309.398
  83.       Y1              =   1697.936
  84.       Y2              =   1697.936
  85.    End
  86.    Begin VB.Label lblVersion 
  87.       Caption         =   "
  88.       Height          =   225
  89.       Left            =   1050
  90.       TabIndex        =   6
  91.       Top             =   780
  92.       Width           =   3885
  93.    End
  94.    Begin VB.Label lblDisclaimer 
  95.       Caption         =   "
  96.       ForeColor       =   &H00000000&
  97.       Height          =   825
  98.       Left            =   255
  99.       TabIndex        =   4
  100.       Top             =   2625
  101.       Width           =   3630
  102.    End
  103. Attribute VB_Name = "frmAbout"
  104. Attribute VB_GlobalNameSpace = False
  105. Attribute VB_Creatable = False
  106. Attribute VB_PredeclaredId = True
  107. Attribute VB_Exposed = False
  108. Option Explicit
  109. Const READ_CONTROL = &H20000
  110. Const KEY_QUERY_VALUE = &H1
  111. Const KEY_SET_VALUE = &H2
  112. Const KEY_CREATE_SUB_KEY = &H4
  113. Const KEY_ENUMERATE_SUB_KEYS = &H8
  114. Const KEY_NOTIFY = &H10
  115. Const KEY_CREATE_LINK = &H20
  116. Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _
  117.                        KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _
  118.                        KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL
  119.                      
  120.  ROOT 
  121. Const HKEY_LOCAL_MACHINE = &H80000002
  122. Const ERROR_SUCCESS = 0
  123. Const REG_SZ = 1                         ' Unicode 
  124.  Null 
  125. Const REG_DWORD = 4                      ' 32-
  126. Const gREGKEYSYSINFOLOC = "SOFTWARE\Microsoft\Shared Tools Location"
  127. Const gREGVALSYSINFOLOC = "MSINFO"
  128. Const gREGKEYSYSINFO = "SOFTWARE\Microsoft\Shared Tools\MSINFO"
  129. Const gREGVALSYSINFO = "PATH"
  130. Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As Long
  131. Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long
  132. Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
  133. Private Sub cmdSysInfo_Click()
  134.   Call StartSysInfo
  135. End Sub
  136. Private Sub cmdOK_Click()
  137.   Unload Me
  138. End Sub
  139. Private Sub Form_Load()
  140.     Me.Caption = "
  141.  " & App.Title
  142.     lblVersion.Caption = "
  143.  " & App.Major & "." & App.Minor & "." & App.Revision
  144.     lblTitle.Caption = App.Title
  145. End Sub
  146. Public Sub StartSysInfo()
  147.     On Error GoTo SysInfoErr
  148.     Dim rc As Long
  149.     Dim SysInfoPath As String
  150.     ' 
  151.     If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then
  152.     ' 
  153.     ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then
  154.         ' 
  155.         If (Dir(SysInfoPath & "\MSINFO32.EXE") <> "") Then
  156.             SysInfoPath = SysInfoPath & "\MSINFO32.EXE"
  157.             
  158.         ' 
  159.         Else
  160.             GoTo SysInfoErr
  161.         End If
  162.     ' 
  163.     Else
  164.         GoTo SysInfoErr
  165.     End If
  166.     Call Shell(SysInfoPath, vbNormalFocus)
  167.     Exit Sub
  168. SysInfoErr:
  169.     MsgBox "
  170. ", vbOKOnly
  171. End Sub
  172. Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, ByRef KeyVal As String) As Boolean
  173.     Dim i As Long                                           ' 
  174.     Dim rc As Long                                          ' 
  175.     Dim hKey As Long                                        ' 
  176.     Dim hDepth As Long                                      '
  177.     Dim KeyValType As Long                                  ' 
  178.     Dim tmpVal As String                                    ' 
  179.     Dim KeyValSize As Long                                  ' 
  180.     '------------------------------------------------------------
  181.     ' 
  182.  {HKEY_LOCAL_MACHINE...} 
  183.     '------------------------------------------------------------
  184.     rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' 
  185.     If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError          ' 
  186.     tmpVal = String$(1024, 0)                             ' 
  187.     KeyValSize = 1024                                       ' 
  188.     '------------------------------------------------------------
  189.     ' 
  190.     '------------------------------------------------------------
  191.     rc = RegQueryValueEx(hKey, SubKeyRef, 0, _
  192.                          KeyValType, tmpVal, KeyValSize)    ' 
  193.                         
  194.     If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError          ' 
  195.     If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then           ' Win95 
  196.  Null 
  197.         tmpVal = Left(tmpVal, KeyValSize - 1)               ' Null 
  198.     Else                                                    ' WinNT 
  199.  Null 
  200.         tmpVal = Left(tmpVal, KeyValSize)                   ' Null 
  201.     End If
  202.     '------------------------------------------------------------
  203.     ' 
  204.     '------------------------------------------------------------
  205.     Select Case KeyValType                                  ' 
  206.     Case REG_SZ                                             ' 
  207.         KeyVal = tmpVal                                     ' 
  208.     Case REG_DWORD                                          ' 
  209.         For i = Len(tmpVal) To 1 Step -1                    ' 
  210.             KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1)))   ' 
  211.         Next
  212.         KeyVal = Format$("&h" + KeyVal)                     ' 
  213.     End Select
  214.     GetKeyValue = True                                      ' 
  215.     rc = RegCloseKey(hKey)                                  ' 
  216.     Exit Function                                           ' 
  217. GetKeyError:      ' 
  218.     KeyVal = ""                                             ' 
  219.     GetKeyValue = False                                     ' 
  220.     rc = RegCloseKey(hKey)                                  ' 
  221. End Function
  222.