?? frmabout.frm
字號:
VERSION 5.00
Begin VB.Form frmAbout
BorderStyle = 3 'Fixed Dialog
Caption = "關于 Library"
ClientHeight = 4635
ClientLeft = 45
ClientTop = 330
ClientWidth = 5865
ClipControls = 0 'False
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
Picture = "frmAbout.frx":0000
ScaleHeight = 4635
ScaleWidth = 5865
ShowInTaskbar = 0 'False
StartUpPosition = 1 '所有者中心
Tag = "關于 Library"
Begin VB.PictureBox picIcon
AutoSize = -1 'True
BackColor = &H00C0C0C0&
ClipControls = 0 'False
Height = 540
Left = 0
Picture = "frmAbout.frx":D1C4
ScaleHeight = 480
ScaleMode = 0 'User
ScaleWidth = 480
TabIndex = 2
TabStop = 0 'False
Top = 0
Width = 540
End
Begin VB.CommandButton cmdOK
Cancel = -1 'True
Caption = "確定"
Default = -1 'True
Height = 345
Left = 4245
TabIndex = 0
Tag = "確定"
Top = 2625
Width = 1467
End
Begin VB.CommandButton cmdSysInfo
Caption = "系統信息(&S)..."
Height = 345
Left = 4260
TabIndex = 1
Tag = "系統信息(&S)..."
Top = 3075
Width = 1452
End
Begin VB.Label lblDescription
Caption = "實現了基本的圖書管理功能"
ForeColor = &H00000000&
Height = 1170
Left = 960
TabIndex = 6
Tag = "應用程序描述"
Top = 1125
Width = 4095
End
Begin VB.Label lblTitle
Caption = "圖書管理系統"
ForeColor = &H00000000&
Height = 480
Left = 1050
TabIndex = 5
Tag = "應用程序標題"
Top = 240
Width = 4092
End
Begin VB.Line Line1
BorderColor = &H00808080&
BorderStyle = 6 'Inside Solid
Index = 1
X1 = 225
X2 = 5657
Y1 = 2430
Y2 = 2430
End
Begin VB.Line Line1
BorderColor = &H00FFFFFF&
BorderWidth = 2
Index = 0
X1 = 240
X2 = 5657
Y1 = 2445
Y2 = 2445
End
Begin VB.Label lblVersion
Caption = "V 1.0"
Height = 225
Left = 1050
TabIndex = 4
Tag = "版本"
Top = 780
Width = 4092
End
Begin VB.Label lblDisclaimer
Caption = "Author:ox0spy"
ForeColor = &H00000000&
Height = 825
Left = 255
TabIndex = 3
Tag = "警告: ..."
Top = 2625
Width = 3870
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 KEY_ALL_ACCESS = &H2003F
' 注冊鍵根類型...
Const HKEY_LOCAL_MACHINE = &H80000002
Const ERROR_SUCCESS = 0
Const REG_SZ = 1 ' Unicode 空結尾字符串
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 Form_Load()
lblVersion.Caption = "版本 " & App.Major & "." & App.Minor & "." & App.Revision
lblTitle.Caption = App.Title
End Sub
Private Sub cmdSysInfo_Click()
Call StartSysInfo
End Sub
Private Sub cmdOK_Click()
Unload Me
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...}之下打開注冊鍵
'------------------------------------------------------------
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 ' 錯誤處理
tmpVal = VBA.Left(tmpVal, InStr(tmpVal, VBA.Chr(0)) - 1)
'------------------------------------------------------------
' 決定轉換的鍵值類型...
'------------------------------------------------------------
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))) ' 一個字符一個字符地生成值
Next
KeyVal = Format$("&h" + KeyVal) ' 轉換雙精度為字符串
End Select
GetKeyValue = True ' 返回成功
rc = RegCloseKey(hKey) ' 關閉注冊表鍵
Exit Function ' 退出
GetKeyError: ' Cleanup After An Error Has Occured...
KeyVal = "" ' 設返回值為空字符串
GetKeyValue = False ' 返回失敗
rc = RegCloseKey(hKey) ' 關閉注冊表鍵
End Function
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -