?? frmabout.frm
字號:
VERSION 5.00
Begin VB.Form frmAbout
BorderStyle = 3 'Fixed Dialog
Caption = "關于我的應用程序"
ClientHeight = 3105
ClientLeft = 2340
ClientTop = 1935
ClientWidth = 5730
ClipControls = 0 'False
Icon = "frmAbout.frx":0000
LinkTopic = "Form2"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 2143.126
ScaleMode = 0 'User
ScaleWidth = 5380.766
ShowInTaskbar = 0 'False
StartUpPosition = 2 '屏幕中心
Begin VB.PictureBox picIcon
AutoSize = -1 'True
ClipControls = 0 'False
Height = 540
Left = 240
Picture = "frmAbout.frx":4FBA
ScaleHeight = 337.12
ScaleMode = 0 'User
ScaleWidth = 337.12
TabIndex = 1
Top = 240
Width = 540
End
Begin VB.CommandButton cmdOK
Cancel = -1 'True
Caption = "確定"
Default = -1 'True
Height = 345
Left = 4125
TabIndex = 0
Top = 2625
Width = 1500
End
Begin VB.CommandButton cmdSysInfo
Caption = "系統信息(&S)..."
Height = 345
Left = 2400
TabIndex = 2
Top = 2640
Width = 1485
End
Begin VB.Label Label4
AutoSize = -1 'True
Caption = "Email: TyanZhiqi@163.com"
Height = 180
Left = 1440
TabIndex = 9
Top = 2040
Width = 2160
End
Begin VB.Label Label3
AutoSize = -1 'True
Caption = "山西師范大學物理與信息工程學院 0103 班"
Height = 180
Left = 1440
TabIndex = 8
Top = 1800
Width = 3420
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "聯系我:"
Height = 180
Left = 1080
TabIndex = 7
Top = 1560
Width = 720
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "感謝使用本軟件,不足之處,請來信指正。"
Height = 180
Left = 1440
TabIndex = 6
Top = 1200
Width = 3420
End
Begin VB.Line Line1
BorderColor = &H00808080&
BorderStyle = 6 'Inside Solid
Index = 1
X1 = 84.515
X2 = 5309.398
Y1 = 1687.582
Y2 = 1687.582
End
Begin VB.Label lblDescription
AutoSize = -1 'True
Caption = "作者: 田志旗"
ForeColor = &H00000000&
Height = 180
Left = 1080
TabIndex = 3
Top = 960
Width = 1260
End
Begin VB.Label lblTitle
Caption = "應用程序標題"
ForeColor = &H00000000&
Height = 240
Left = 1050
TabIndex = 4
Top = 240
Width = 3885
End
Begin VB.Line Line1
BorderColor = &H00FFFFFF&
BorderWidth = 2
Index = 0
X1 = 98.6
X2 = 5309.398
Y1 = 1697.936
Y2 = 1697.936
End
Begin VB.Label lblVersion
AutoSize = -1 'True
Caption = "版本"
Height = 180
Left = 1080
TabIndex = 5
Top = 600
Width = 360
End
End
Attribute VB_Name = "frmAbout"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
' 注冊表關鍵字安全選項...
Const READ_CONTROL = &H20000
Const KEY_QUERY_VALUE = &H1
Const KEY_SET_VALUE = &H2
Const KEY_CREATE_SUB_KEY = &H4
Const KEY_ENUMERATE_SUB_KEYS = &H8
Const KEY_NOTIFY = &H10
Const KEY_CREATE_LINK = &H20
Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _
KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _
KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL
' 注冊表關鍵字 ROOT 類型...
Const HKEY_LOCAL_MACHINE = &H80000002
Const ERROR_SUCCESS = 0
Const REG_SZ = 1 ' 獨立的空的終結字符串
Const REG_DWORD = 4 ' 32位數字
Const gREGKEYSYSINFOLOC = "SOFTWARE\Microsoft\Shared Tools Location"
Const gREGVALSYSINFOLOC = "MSINFO"
Const gREGKEYSYSINFO = "SOFTWARE\Microsoft\Shared Tools\MSINFO"
Const gREGVALSYSINFO = "PATH"
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
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
Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
Private Sub cmdSysInfo_Click()
Call StartSysInfo
End Sub
Private Sub cmdOK_Click()
Unload Me
End Sub
Private Sub Form_Load()
Me.Caption = "關于 " & App.Title
lblVersion.Caption = "版本 " & App.Major & "." & App.Minor & "." & App.Revision
lblTitle.Caption = App.Title
End Sub
Public Sub StartSysInfo()
On Error GoTo SysInfoErr
Dim rc As Long
Dim SysInfoPath As String
' 試圖從注冊表中獲得系統信息程序的路徑及名稱...
If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then
' 試圖僅從注冊表中獲得系統信息程序的路徑...
ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then
' 已知32位文件版本的有效位置
If (dir(SysInfoPath & "\MSINFO32.EXE") <> "") Then
SysInfoPath = SysInfoPath & "\MSINFO32.EXE"
' 錯誤 - 文件不能被找到...
Else
GoTo SysInfoErr
End If
' 錯誤 - 注冊表相應條目不能被找到...
Else
GoTo SysInfoErr
End If
Call Shell(SysInfoPath, vbNormalFocus)
Exit Sub
SysInfoErr:
MsgBox "此時系統信息不可用", vbOKOnly
End Sub
Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, ByRef KeyVal As String) As Boolean
Dim i As Long ' 循環計數器
Dim rc As Long ' 返回代碼
Dim hKey As Long ' 打開的注冊表關鍵字句柄
Dim hDepth As Long '
Dim KeyValType As Long ' 注冊表關鍵字數據類型
Dim tmpVal As String ' 注冊表關鍵字值的臨時存儲器
Dim KeyValSize As Long ' 注冊表關鍵自變量的尺寸
'------------------------------------------------------------
' 打開 {HKEY_LOCAL_MACHINE...} 下的 RegKey
'------------------------------------------------------------
rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' 打開注冊表關鍵字
If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' 處理錯誤...
tmpVal = String$(1024, 0) ' 分配變量空間
KeyValSize = 1024 ' 標記變量尺寸
'------------------------------------------------------------
' 檢索注冊表關鍵字的值...
'------------------------------------------------------------
rc = RegQueryValueEx(hKey, SubKeyRef, 0, _
KeyValType, tmpVal, KeyValSize) ' 獲得/創建關鍵字值
If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' 處理錯誤
If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then ' Win95 外接程序空終結字符串...
tmpVal = Left(tmpVal, KeyValSize - 1) ' Null 被找到,從字符串中分離出來
Else ' WinNT 沒有空終結字符串...
tmpVal = Left(tmpVal, KeyValSize) ' Null 沒有被找到, 分離字符串
End If
'------------------------------------------------------------
' 決定轉換的關鍵字的值類型...
'------------------------------------------------------------
Select Case KeyValType ' 搜索數據類型...
Case REG_SZ ' 字符串注冊關鍵字數據類型
KeyVal = tmpVal ' 復制字符串的值
Case REG_DWORD ' 四字節的注冊表關鍵字數據類型
For i = Len(tmpVal) To 1 Step -1 ' 將每位進行轉換
KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1))) ' 生成值字符。 By Char。
Next
KeyVal = Format$("&h" + KeyVal) ' 轉換四字節的字符為字符串
End Select
GetKeyValue = True ' 返回成功
rc = RegCloseKey(hKey) ' 關閉注冊表關鍵字
Exit Function ' 退出
GetKeyError: ' 錯誤發生后將其清除...
KeyVal = "" ' 設置返回值到空字符串
GetKeyValue = False ' 返回失敗
rc = RegCloseKey(hKey) ' 關閉注冊表關鍵字
End Function
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -