home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / CODE_UPLOAD36902292000.psc / frmAbout.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  2000-02-29  |  6.4 KB  |  179 lines

  1. VERSION 5.00
  2. Begin VB.Form frmAbout 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    ClientHeight    =   2925
  5.    ClientLeft      =   45
  6.    ClientTop       =   330
  7.    ClientWidth     =   5775
  8.    ClipControls    =   0   'False
  9.    Icon            =   "frmAbout.frx":0000
  10.    LinkTopic       =   "Form1"
  11.    MaxButton       =   0   'False
  12.    MinButton       =   0   'False
  13.    ScaleHeight     =   2925
  14.    ScaleWidth      =   5775
  15.    ShowInTaskbar   =   0   'False
  16.    StartUpPosition =   2  'CenterScreen
  17.    Tag             =   "About AboutForm"
  18.    Begin VB.TextBox txtCopyright 
  19.       Alignment       =   2  'Center
  20.       Height          =   495
  21.       Left            =   240
  22.       MultiLine       =   -1  'True
  23.       TabIndex        =   5
  24.       Text            =   "frmAbout.frx":0E42
  25.       Top             =   2040
  26.       Width           =   3855
  27.    End
  28.    Begin VB.PictureBox picIcon 
  29.       AutoSize        =   -1  'True
  30.       BackColor       =   &H00C0C0C0&
  31.       ClipControls    =   0   'False
  32.       Height          =   690
  33.       Left            =   120
  34.       Picture         =   "frmAbout.frx":0E98
  35.       ScaleHeight     =   630
  36.       ScaleMode       =   0  'User
  37.       ScaleWidth      =   630
  38.       TabIndex        =   2
  39.       TabStop         =   0   'False
  40.       Top             =   120
  41.       Width           =   690
  42.    End
  43.    Begin VB.CommandButton cmdOK 
  44.       Cancel          =   -1  'True
  45.       Caption         =   "OK"
  46.       Default         =   -1  'True
  47.       Height          =   345
  48.       Left            =   4245
  49.       TabIndex        =   0
  50.       Tag             =   "OK"
  51.       Top             =   2040
  52.       Width           =   1467
  53.    End
  54.    Begin VB.CommandButton cmdSysInfo 
  55.       Caption         =   "&System Info..."
  56.       Height          =   345
  57.       Left            =   4260
  58.       TabIndex        =   1
  59.       Tag             =   "&System Info..."
  60.       Top             =   2520
  61.       Width           =   1452
  62.    End
  63.    Begin VB.Label lblDescription 
  64.       ForeColor       =   &H00000000&
  65.       Height          =   1050
  66.       Left            =   1050
  67.       TabIndex        =   4
  68.       Tag             =   "App Description"
  69.       Top             =   600
  70.       Width           =   4575
  71.    End
  72.    Begin VB.Label lblTitle 
  73.       ForeColor       =   &H00000000&
  74.       Height          =   240
  75.       Left            =   1050
  76.       TabIndex        =   3
  77.       Tag             =   "Application Title"
  78.       Top             =   240
  79.       Width           =   4575
  80.    End
  81.    Begin VB.Line Line1 
  82.       BorderColor     =   &H00808080&
  83.       BorderStyle     =   6  'Inside Solid
  84.       Index           =   1
  85.       X1              =   225
  86.       X2              =   5657
  87.       Y1              =   1800
  88.       Y2              =   1800
  89.    End
  90.    Begin VB.Line Line1 
  91.       BorderColor     =   &H00FFFFFF&
  92.       BorderWidth     =   2
  93.       Index           =   0
  94.       X1              =   240
  95.       X2              =   5657
  96.       Y1              =   1800
  97.       Y2              =   1800
  98.    End
  99. Attribute VB_Name = "frmAbout"
  100. Attribute VB_GlobalNameSpace = False
  101. Attribute VB_Creatable = False
  102. Attribute VB_PredeclaredId = True
  103. Attribute VB_Exposed = False
  104. Const KEY_ALL_ACCESS = &H2003F
  105. Const HKEY_LOCAL_MACHINE = &H80000002
  106. Const ERROR_SUCCESS = 0
  107. Const REG_SZ = 1
  108. Const REG_DWORD = 4
  109. Const gREGKEYSYSINFOLOC = "SOFTWARE\Microsoft\Shared Tools Location"
  110. Const gREGVALSYSINFOLOC = "MSINFO"
  111. Const gREGKEYSYSINFO = "SOFTWARE\Microsoft\Shared Tools\MSINFO"
  112. Const gREGVALSYSINFO = "PATH"
  113. 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
  114. 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
  115. Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
  116. Private Sub Form_Load()
  117.     frmAbout.Caption = App.Title & " Version " & App.Major & "." & App.Minor & "." & App.Revision
  118.     lblTitle.Caption = App.Title & " Version " & App.Major & "." & App.Minor & "." & App.Revision
  119.     lblDescription.Caption = App.Comments
  120. End Sub
  121. Private Sub cmdSysInfo_Click()
  122.         Call StartSysInfo
  123. End Sub
  124. Private Sub cmdOK_Click()
  125.         Unload Me
  126.         frmMain.Show
  127. End Sub
  128. Public Sub StartSysInfo()
  129.     On Error GoTo SysInfoErr
  130.         Dim rc As Long
  131.         Dim SysInfoPath As String
  132.         If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then
  133.         ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then
  134.                 If (Dir(SysInfoPath & "\MSINFO32.EXE") <> "") Then
  135.                         SysInfoPath = SysInfoPath & "\MSINFO32.EXE"
  136.                 Else
  137.                         GoTo SysInfoErr
  138.                 End If
  139.         Else
  140.                 GoTo SysInfoErr
  141.         End If
  142.         Call Shell(SysInfoPath, vbNormalFocus)
  143.         Exit Sub
  144. SysInfoErr:
  145.         MsgBox "System Information Is Unavailable At This Time", vbOKOnly
  146. End Sub
  147. Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, ByRef KeyVal As String) As Boolean
  148.         Dim i As Long
  149.         Dim rc As Long
  150.         Dim hKey As Long
  151.         Dim hDepth As Long
  152.         Dim KeyValType As Long
  153.         Dim tmpVal As String
  154.         Dim KeyValSize As Long
  155.         rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey)
  156.         If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError
  157.         tmpVal = String$(1024, 0)
  158.         KeyValSize = 1024
  159.         rc = RegQueryValueEx(hKey, SubKeyRef, 0, KeyValType, tmpVal, KeyValSize)
  160.         If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError
  161.         tmpVal = VBA.Left(tmpVal, InStr(tmpVal, VBA.Chr(0)) - 1)
  162.         Select Case KeyValType
  163.         Case REG_SZ
  164.                 KeyVal = tmpVal
  165.         Case REG_DWORD
  166.                 For i = Len(tmpVal) To 1 Step -1
  167.                         KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1)))
  168.                 Next
  169.                 KeyVal = Format$("&h" + KeyVal)
  170.         End Select
  171.         GetKeyValue = True
  172.         rc = RegCloseKey(hKey)
  173.         Exit Function
  174. GetKeyError:
  175.         KeyVal = ""
  176.         GetKeyValue = False
  177.         rc = RegCloseKey(hKey)
  178. End Function
  179.