home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 7_2009-2012.ISO / data / zips / Weather_Of220609692011.psc / frmAbout.frm < prev    next >
Text File  |  2011-06-01  |  13KB  |  332 lines

  1. VERSION 5.00
  2. Begin VB.Form frmAbout 
  3.    Appearance      =   0  'Flat
  4.    BackColor       =   &H80000005&
  5.    BorderStyle     =   3  'Fixed Dialog
  6.    Caption         =   "About MyApp"
  7.    ClientHeight    =   3555
  8.    ClientLeft      =   2340
  9.    ClientTop       =   1935
  10.    ClientWidth     =   5730
  11.    ClipControls    =   0   'False
  12.    LinkTopic       =   "Form2"
  13.    LockControls    =   -1  'True
  14.    MaxButton       =   0   'False
  15.    MinButton       =   0   'False
  16.    ScaleHeight     =   2453.724
  17.    ScaleMode       =   0  'User
  18.    ScaleWidth      =   5380.766
  19.    ShowInTaskbar   =   0   'False
  20.    StartUpPosition =   1  'CenterOwner
  21.    Begin VB.PictureBox picIcon 
  22.       Appearance      =   0  'Flat
  23.       AutoSize        =   -1  'True
  24.       BackColor       =   &H80000005&
  25.       BorderStyle     =   0  'None
  26.       ClipControls    =   0   'False
  27.       ForeColor       =   &H80000008&
  28.       Height          =   480
  29.       Left            =   240
  30.       ScaleHeight     =   337.12
  31.       ScaleMode       =   0  'User
  32.       ScaleWidth      =   337.12
  33.       TabIndex        =   1
  34.       Top             =   240
  35.       Width           =   480
  36.    End
  37.    Begin VB.CommandButton cmdOK 
  38.       Cancel          =   -1  'True
  39.       Caption         =   "OK"
  40.       Default         =   -1  'True
  41.       Height          =   345
  42.       Left            =   4245
  43.       TabIndex        =   0
  44.       Top             =   2625
  45.       Width           =   1260
  46.    End
  47.    Begin VB.CommandButton cmdSysInfo 
  48.       Caption         =   "&System Info..."
  49.       Height          =   345
  50.       Left            =   4260
  51.       TabIndex        =   2
  52.       Top             =   3075
  53.       Width           =   1245
  54.    End
  55.    Begin VB.Label lblDescrip2 
  56.       Appearance      =   0  'Flat
  57.       BackColor       =   &H80000005&
  58.       BackStyle       =   0  'Transparent
  59.       Caption         =   "App Description"
  60.       BeginProperty Font 
  61.          Name            =   "Papyrus"
  62.          Size            =   12
  63.          Charset         =   0
  64.          Weight          =   700
  65.          Underline       =   0   'False
  66.          Italic          =   0   'False
  67.          Strikethrough   =   0   'False
  68.       EndProperty
  69.       ForeColor       =   &H000000FF&
  70.       Height          =   975
  71.       Left            =   1050
  72.       TabIndex        =   8
  73.       Top             =   1245
  74.       Width           =   4560
  75.    End
  76.    Begin VB.Label lblTitle2 
  77.       Appearance      =   0  'Flat
  78.       BackColor       =   &H80000005&
  79.       BackStyle       =   0  'Transparent
  80.       Caption         =   "Application Title"
  81.       BeginProperty Font 
  82.          Name            =   "Papyrus"
  83.          Size            =   14.25
  84.          Charset         =   0
  85.          Weight          =   700
  86.          Underline       =   0   'False
  87.          Italic          =   0   'False
  88.          Strikethrough   =   0   'False
  89.       EndProperty
  90.       ForeColor       =   &H00808080&
  91.       Height          =   615
  92.       Left            =   1078
  93.       TabIndex        =   7
  94.       Top             =   273
  95.       Width           =   4095
  96.    End
  97.    Begin VB.Line Line1 
  98.       BorderColor     =   &H00808080&
  99.       BorderStyle     =   6  'Inside Solid
  100.       Index           =   1
  101.       X1              =   84.515
  102.       X2              =   5309.398
  103.       Y1              =   1687.583
  104.       Y2              =   1687.583
  105.    End
  106.    Begin VB.Label lblDescription 
  107.       Appearance      =   0  'Flat
  108.       BackColor       =   &H80000005&
  109.       Caption         =   "App Description"
  110.       BeginProperty Font 
  111.          Name            =   "Papyrus"
  112.          Size            =   12
  113.          Charset         =   0
  114.          Weight          =   700
  115.          Underline       =   0   'False
  116.          Italic          =   0   'False
  117.          Strikethrough   =   0   'False
  118.       EndProperty
  119.       ForeColor       =   &H80000008&
  120.       Height          =   1170
  121.       Left            =   1080
  122.       TabIndex        =   3
  123.       Top             =   1270
  124.       Width           =   4560
  125.    End
  126.    Begin VB.Label lblTitle 
  127.       Appearance      =   0  'Flat
  128.       BackColor       =   &H80000005&
  129.       Caption         =   "Application Title"
  130.       BeginProperty Font 
  131.          Name            =   "Papyrus"
  132.          Size            =   14.25
  133.          Charset         =   0
  134.          Weight          =   700
  135.          Underline       =   0   'False
  136.          Italic          =   0   'False
  137.          Strikethrough   =   0   'False
  138.       EndProperty
  139.       ForeColor       =   &H000000FF&
  140.       Height          =   480
  141.       Left            =   1050
  142.       TabIndex        =   5
  143.       Top             =   240
  144.       Width           =   3885
  145.    End
  146.    Begin VB.Line Line1 
  147.       BorderColor     =   &H00FFFFFF&
  148.       BorderWidth     =   2
  149.       Index           =   0
  150.       X1              =   98.6
  151.       X2              =   5309.398
  152.       Y1              =   1697.936
  153.       Y2              =   1697.936
  154.    End
  155.    Begin VB.Label lblVersion 
  156.       Appearance      =   0  'Flat
  157.       BackColor       =   &H80000005&
  158.       Caption         =   "Version"
  159.       BeginProperty Font 
  160.          Name            =   "Papyrus"
  161.          Size            =   9.75
  162.          Charset         =   0
  163.          Weight          =   400
  164.          Underline       =   0   'False
  165.          Italic          =   0   'False
  166.          Strikethrough   =   0   'False
  167.       EndProperty
  168.       ForeColor       =   &H80000008&
  169.       Height          =   225
  170.       Left            =   1050
  171.       TabIndex        =   6
  172.       Top             =   780
  173.       Width           =   3885
  174.    End
  175.    Begin VB.Label lblDisclaimer 
  176.       Appearance      =   0  'Flat
  177.       BackColor       =   &H80000005&
  178.       Caption         =   "Warning: ..."
  179.       BeginProperty Font 
  180.          Name            =   "Papyrus"
  181.          Size            =   11.25
  182.          Charset         =   0
  183.          Weight          =   400
  184.          Underline       =   0   'False
  185.          Italic          =   0   'False
  186.          Strikethrough   =   0   'False
  187.       EndProperty
  188.       ForeColor       =   &H80000008&
  189.       Height          =   825
  190.       Left            =   255
  191.       TabIndex        =   4
  192.       Top             =   2625
  193.       Width           =   3870
  194.    End
  195. End
  196. Attribute VB_Name = "frmAbout"
  197. Attribute VB_GlobalNameSpace = False
  198. Attribute VB_Creatable = False
  199. Attribute VB_PredeclaredId = True
  200. Attribute VB_Exposed = False
  201. Option Explicit
  202.  
  203. ' Reg Key Security Options...
  204. Const READ_CONTROL = &H20000
  205. Const KEY_QUERY_VALUE = &H1
  206. Const KEY_SET_VALUE = &H2
  207. Const KEY_CREATE_SUB_KEY = &H4
  208. Const KEY_ENUMERATE_SUB_KEYS = &H8
  209. Const KEY_NOTIFY = &H10
  210. Const KEY_CREATE_LINK = &H20
  211. Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _
  212.                        KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _
  213.                        KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL
  214.                      
  215. ' Reg Key ROOT Types...
  216. Const HKEY_LOCAL_MACHINE = &H80000002
  217. Const ERROR_SUCCESS = 0
  218. Const REG_SZ = 1                         ' Unicode nul terminated string
  219. Const REG_DWORD = 4                      ' 32-bit number
  220.  
  221. Const gREGKEYSYSINFOLOC = "SOFTWARE\Microsoft\Shared Tools Location"
  222. Const gREGVALSYSINFOLOC = "MSINFO"
  223. Const gREGKEYSYSINFO = "SOFTWARE\Microsoft\Shared Tools\MSINFO"
  224. Const gREGVALSYSINFO = "PATH"
  225.  
  226. 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
  227. 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
  228. Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
  229.  
  230.  
  231. Private Sub cmdSysInfo_Click()
  232.   Call StartSysInfo
  233. End Sub
  234.  
  235. Private Sub cmdOK_Click()
  236.   Unload Me
  237. End Sub
  238.  
  239. Private Sub Form_Load()
  240.     Me.Caption = "About " & "Weather Of The World"
  241.     lblVersion.Caption = "Version " & App.Major & "." & App.Minor & "." & App.Revision
  242.     lblTitle.Caption = "Weather Of The World"
  243.     lblTitle2.Caption = "Weather Of The World"
  244.     lblDescription.Caption = "Created By: Kenneth Dillon" & vbCrLf & "To Display Weather Of The World"
  245.     lblDescrip2.Caption = "Created By: Kenneth Dillon" & vbCrLf & "To Display Weather Of The World"
  246.     lblDisclaimer.Caption = "Warning: ..." & vbCrLf & "Feel Free To Used As You Please !!"
  247. End Sub
  248.  
  249. Public Sub StartSysInfo()
  250.     On Error GoTo SysInfoErr
  251.   
  252.     Dim rc As Long
  253.     Dim SysInfoPath As String
  254.     
  255.     ' Try To Get System Info Program Path\Name From Registry...
  256.     If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then
  257.     ' Try To Get System Info Program Path Only From Registry...
  258.     ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then
  259.         ' Validate Existance Of Known 32 Bit File Version
  260.         If (Dir(SysInfoPath & "\MSINFO32.EXE") <> "") Then
  261.             SysInfoPath = SysInfoPath & "\MSINFO32.EXE"
  262.             
  263.         ' Error - File Can Not Be Found...
  264.         Else
  265.             GoTo SysInfoErr
  266.         End If
  267.     ' Error - Registry Entry Can Not Be Found...
  268.     Else
  269.         GoTo SysInfoErr
  270.     End If
  271.     
  272.     Call Shell(SysInfoPath, vbNormalFocus)
  273.     
  274.     Exit Sub
  275. SysInfoErr:
  276.     MsgBox "System Information Is Unavailable At This Time", vbOKOnly
  277. End Sub
  278.  
  279. Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, ByRef KeyVal As String) As Boolean
  280.     Dim i As Long                                           ' Loop Counter
  281.     Dim rc As Long                                          ' Return Code
  282.     Dim hKey As Long                                        ' Handle To An Open Registry Key
  283.     Dim hDepth As Long                                      '
  284.     Dim KeyValType As Long                                  ' Data Type Of A Registry Key
  285.     Dim tmpVal As String                                    ' Tempory Storage For A Registry Key Value
  286.     Dim KeyValSize As Long                                  ' Size Of Registry Key Variable
  287.     '------------------------------------------------------------
  288.     ' Open RegKey Under KeyRoot {HKEY_LOCAL_MACHINE...}
  289.     '------------------------------------------------------------
  290.     rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' Open Registry Key
  291.     
  292.     If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError          ' Handle Error...
  293.     
  294.     tmpVal = String$(1024, 0)                             ' Allocate Variable Space
  295.     KeyValSize = 1024                                       ' Mark Variable Size
  296.     
  297.     '------------------------------------------------------------
  298.     ' Retrieve Registry Key Value...
  299.     '------------------------------------------------------------
  300.     rc = RegQueryValueEx(hKey, SubKeyRef, 0, _
  301.                          KeyValType, tmpVal, KeyValSize)    ' Get/Create Key Value
  302.                         
  303.     If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError          ' Handle Errors
  304.     
  305.     If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then           ' Win95 Adds Null Terminated String...
  306.         tmpVal = Left(tmpVal, KeyValSize - 1)               ' Null Found, Extract From String
  307.     Else                                                    ' WinNT Does NOT Null Terminate String...
  308.         tmpVal = Left(tmpVal, KeyValSize)                   ' Null Not Found, Extract String Only
  309.     End If
  310.     '------------------------------------------------------------
  311.     ' Determine Key Value Type For Conversion...
  312.     '------------------------------------------------------------
  313.     Select Case KeyValType                                  ' Search Data Types...
  314.     Case REG_SZ                                             ' String Registry Key Data Type
  315.         KeyVal = tmpVal                                     ' Copy String Value
  316.     Case REG_DWORD                                          ' Double Word Registry Key Data Type
  317.         For i = Len(tmpVal) To 1 Step -1                    ' Convert Each Bit
  318.             KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1)))   ' Build Value Char. By Char.
  319.         Next
  320.         KeyVal = Format$("&h" + KeyVal)                     ' Convert Double Word To String
  321.     End Select
  322.     
  323.     GetKeyValue = True                                      ' Return Success
  324.     rc = RegCloseKey(hKey)                                  ' Close Registry Key
  325.     Exit Function                                           ' Exit
  326.     
  327. GetKeyError:      ' Cleanup After An Error Has Occured...
  328.     KeyVal = ""                                             ' Set Return Val To Empty String
  329.     GetKeyValue = False                                     ' Return Failure
  330.     rc = RegCloseKey(hKey)                                  ' Close Registry Key
  331. End Function
  332.