?? frmabout.frm
字號(hào):
VERSION 5.00
Begin VB.Form frmAbout
BorderStyle = 3 'Fixed Dialog
Caption = "關(guān)于電機(jī)驅(qū)動(dòng)監(jiān)控程序"
ClientHeight = 2715
ClientLeft = 2340
ClientTop = 1935
ClientWidth = 5730
ClipControls = 0 'False
ControlBox = 0 'False
LinkTopic = "Form2"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 1873.941
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":0000
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 = 1800
Width = 1500
End
Begin VB.CommandButton cmdSysInfo
Caption = "系統(tǒng)信息(&S)..."
Height = 345
Left = 4140
TabIndex = 2
Top = 2280
Width = 1485
End
Begin VB.Line Line1
BorderColor = &H00808080&
BorderStyle = 6 'Inside Solid
Index = 1
X1 = 84.515
X2 = 5309.398
Y1 = 1076.74
Y2 = 1076.74
End
Begin VB.Label lblDescription
Caption = "應(yīng)用程序描述: 通過(guò)PC串口監(jiān)控電機(jī)驅(qū)動(dòng)系統(tǒng),發(fā)送控制命令,接收驅(qū)動(dòng)系統(tǒng)返回參數(shù)。"
ForeColor = &H00000000&
Height = 450
Left = 1050
TabIndex = 3
Top = 1125
Width = 3885
End
Begin VB.Label lblTitle
Caption = "電機(jī)驅(qū)動(dòng)監(jiān)控程序"
ForeColor = &H00000000&
Height = 480
Left = 1080
TabIndex = 5
Top = 240
Width = 3885
End
Begin VB.Line Line1
BorderColor = &H00FFFFFF&
BorderWidth = 2
Index = 0
X1 = 98.6
X2 = 5309.398
Y1 = 1076.74
Y2 = 1076.74
End
Begin VB.Label lblVersion
Caption = "版本:1.1"
Height = 225
Left = 1050
TabIndex = 6
Top = 780
Width = 3885
End
Begin VB.Label lblDisclaimer
Caption = "警告: ...:)"
ForeColor = &H00000000&
Height = 825
Left = 240
TabIndex = 4
Top = 1800
Width = 3630
End
End
Attribute VB_Name = "frmAbout"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
' 注冊(cè)表關(guān)鍵字安全選項(xiàng)...
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
' 注冊(cè)表關(guān)鍵字 ROOT 類(lèi)型...
Const HKEY_LOCAL_MACHINE = &H80000002
Const ERROR_SUCCESS = 0
Const REG_SZ = 1 ' 獨(dú)立的空的終結(jié)字符串
Const REG_DWORD = 4 ' 32位數(shù)字
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 = "關(guān)于 " & 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
' 試圖從注冊(cè)表中獲得系統(tǒng)信息程序的路徑及名稱(chēng)...
If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then
' 試圖僅從注冊(cè)表中獲得系統(tǒng)信息程序的路徑...
ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then
' 已知32位文件版本的有效位置
If (Dir(SysInfoPath & "\MSINFO32.EXE") <> "") Then
SysInfoPath = SysInfoPath & "\MSINFO32.EXE"
' 錯(cuò)誤 - 文件不能被找到...
Else
GoTo SysInfoErr
End If
' 錯(cuò)誤 - 注冊(cè)表相應(yīng)條目不能被找到...
Else
GoTo SysInfoErr
End If
Call Shell(SysInfoPath, vbNormalFocus)
Exit Sub
SysInfoErr:
MsgBox "此時(shí)系統(tǒng)信息不可用", 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 ' 循環(huán)計(jì)數(shù)器
Dim rc As Long ' 返回代碼
Dim hKey As Long ' 打開(kāi)的注冊(cè)表關(guān)鍵字句柄
Dim hDepth As Long '
Dim KeyValType As Long ' 注冊(cè)表關(guān)鍵字?jǐn)?shù)據(jù)類(lèi)型
Dim tmpVal As String ' 注冊(cè)表關(guān)鍵字值的臨時(shí)存儲(chǔ)器
Dim KeyValSize As Long ' 注冊(cè)表關(guān)鍵自變量的尺寸
'------------------------------------------------------------
' 打開(kāi) {HKEY_LOCAL_MACHINE...} 下的 RegKey
'------------------------------------------------------------
rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' 打開(kāi)注冊(cè)表關(guān)鍵字
If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' 處理錯(cuò)誤...
tmpVal = String$(1024, 0) ' 分配變量空間
KeyValSize = 1024 ' 標(biāo)記變量尺寸
'------------------------------------------------------------
' 檢索注冊(cè)表關(guān)鍵字的值...
'------------------------------------------------------------
rc = RegQueryValueEx(hKey, SubKeyRef, 0, _
KeyValType, tmpVal, KeyValSize) ' 獲得/創(chuàng)建關(guān)鍵字值
If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' 處理錯(cuò)誤
If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then ' Win95 外接程序空終結(jié)字符串...
tmpVal = Left(tmpVal, KeyValSize - 1) ' Null 被找到,從字符串中分離出來(lái)
Else ' WinNT 沒(méi)有空終結(jié)字符串...
tmpVal = Left(tmpVal, KeyValSize) ' Null 沒(méi)有被找到, 分離字符串
End If
'------------------------------------------------------------
' 決定轉(zhuǎn)換的關(guān)鍵字的值類(lèi)型...
'------------------------------------------------------------
Select Case KeyValType ' 搜索數(shù)據(jù)類(lèi)型...
Case REG_SZ ' 字符串注冊(cè)關(guān)鍵字?jǐn)?shù)據(jù)類(lèi)型
KeyVal = tmpVal ' 復(fù)制字符串的值
Case REG_DWORD ' 四字節(jié)的注冊(cè)表關(guān)鍵字?jǐn)?shù)據(jù)類(lèi)型
For i = Len(tmpVal) To 1 Step -1 ' 將每位進(jìn)行轉(zhuǎn)換
KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1))) ' 生成值字符。 By Char。
Next
KeyVal = Format$("&h" + KeyVal) ' 轉(zhuǎn)換四字節(jié)的字符為字符串
End Select
GetKeyValue = True ' 返回成功
rc = RegCloseKey(hKey) ' 關(guān)閉注冊(cè)表關(guān)鍵字
Exit Function ' 退出
GetKeyError: ' 錯(cuò)誤發(fā)生后將其清除...
KeyVal = "" ' 設(shè)置返回值到空字符串
GetKeyValue = False ' 返回失敗
rc = RegCloseKey(hKey) ' 關(guān)閉注冊(cè)表關(guān)鍵字
End Function
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -