⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmabout.vb

📁 <Visual Basic 数据库开发实例精粹(第二版)>一书首先介绍了Visual Basic(简称VB)开发的技巧和重点技术
💻 VB
📖 第 1 页 / 共 2 页
字号:
    Me.picBG.Controls.Add(Me.Label2)
    Me.picBG.Controls.Add(Me._lblLogin_3)
    Me.picBG.Controls.Add(Me._lblLogin_2)
    Me.picBG.Controls.Add(Me.picIcon)
    Me.picBG.Controls.Add(Me.lblVersion)
    Me.picBG.Cursor = System.Windows.Forms.Cursors.Default
    Me.picBG.ForeColor = System.Drawing.SystemColors.WindowText
    Me.picBG.Location = New System.Drawing.Point(0, 0)
    Me.picBG.Name = "picBG"
    Me.picBG.RightToLeft = System.Windows.Forms.RightToLeft.No
    Me.picBG.Size = New System.Drawing.Size(488, 80)
    Me.picBG.TabIndex = 13
    '
    '_lblLogin_3
    '
    Me._lblLogin_3.AutoSize = True
    Me._lblLogin_3.BackColor = System.Drawing.Color.Transparent
    Me._lblLogin_3.Cursor = System.Windows.Forms.Cursors.Default
    Me._lblLogin_3.Font = New System.Drawing.Font("宋体", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
    Me._lblLogin_3.ForeColor = System.Drawing.Color.White
    Me._lblLogin_3.Location = New System.Drawing.Point(72, 8)
    Me._lblLogin_3.Name = "_lblLogin_3"
    Me._lblLogin_3.RightToLeft = System.Windows.Forms.RightToLeft.No
    Me._lblLogin_3.Size = New System.Drawing.Size(223, 25)
    Me._lblLogin_3.TabIndex = 6
    Me._lblLogin_3.Text = "客户管理系统网络版V2.0"
    '
    '_lblLogin_2
    '
    Me._lblLogin_2.AutoSize = True
    Me._lblLogin_2.BackColor = System.Drawing.Color.Transparent
    Me._lblLogin_2.Cursor = System.Windows.Forms.Cursors.Default
    Me._lblLogin_2.ForeColor = System.Drawing.SystemColors.ControlText
    Me._lblLogin_2.Location = New System.Drawing.Point(248, 48)
    Me._lblLogin_2.Name = "_lblLogin_2"
    Me._lblLogin_2.RightToLeft = System.Windows.Forms.RightToLeft.No
    Me._lblLogin_2.Size = New System.Drawing.Size(208, 17)
    Me._lblLogin_2.TabIndex = 8
    Me._lblLogin_2.Text = "版权所有 (C) 2005-2008 特瑞飞软件"
    '
    'Label2
    '
    Me.Label2.AutoSize = True
    Me.Label2.BackColor = System.Drawing.Color.Transparent
    Me.Label2.Cursor = System.Windows.Forms.Cursors.Default
    Me.Label2.ForeColor = System.Drawing.SystemColors.ControlText
    Me.Label2.Location = New System.Drawing.Point(108, 56)
    Me.Label2.Name = "Label2"
    Me.Label2.RightToLeft = System.Windows.Forms.RightToLeft.No
    Me.Label2.Size = New System.Drawing.Size(42, 17)
    Me.Label2.TabIndex = 9
    Me.Label2.Tag = "1037"
    Me.Label2.Text = "Build:"
    '
    'lnkWebSite
    '
    Me.lnkWebSite.AutoSize = True
    Me.lnkWebSite.Location = New System.Drawing.Point(187, 162)
    Me.lnkWebSite.Name = "lnkWebSite"
    Me.lnkWebSite.Size = New System.Drawing.Size(141, 17)
    Me.lnkWebSite.TabIndex = 14
    Me.lnkWebSite.TabStop = True
    Me.lnkWebSite.Text = "http://www.trfsoft.com"
    '
    'frmAbout
    '
    Me.AcceptButton = Me.cmdOK
    Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
    Me.BackColor = System.Drawing.SystemColors.Control
    Me.CancelButton = Me.cmdOK
    Me.ClientSize = New System.Drawing.Size(477, 288)
    Me.Controls.Add(Me.lnkWebSite)
    Me.Controls.Add(Me.picBG)
    Me.Controls.Add(Me.cmdOK)
    Me.Controls.Add(Me.cmdSysInfo)
    Me.Controls.Add(Me.Label1)
    Me.Controls.Add(Me._lbl_3)
    Me.Controls.Add(Me._lbl_4)
    Me.Controls.Add(Me._lbl_6)
    Me.Controls.Add(Me._lbl_7)
    Me.Controls.Add(Me.lblDescription)
    Me.Controls.Add(Me._Line1_1)
    Me.Controls.Add(Me.lblDisclaimer)
    Me.Cursor = System.Windows.Forms.Cursors.Default
    Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
    Me.Location = New System.Drawing.Point(3, 29)
    Me.MaximizeBox = False
    Me.MinimizeBox = False
    Me.Name = "frmAbout"
    Me.RightToLeft = System.Windows.Forms.RightToLeft.No
    Me.ShowInTaskbar = False
    Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
    Me.Tag = "1033"
    Me.Text = "关于 ClientManager"
    Me.picBG.ResumeLayout(False)
    Me.ResumeLayout(False)

  End Sub
#End Region 

	
	' 注册键安全选项...
	Const KEY_ALL_ACCESS As Integer = &H2003F
	
	' 注册键根类型...
	Const HKEY_LOCAL_MACHINE As Integer = &H80000002
	Const ERROR_SUCCESS As Short = 0
	Const REG_SZ As Short = 1 ' Unicode 空结尾字符串
	Const REG_DWORD As Short = 4 ' 32位数
	
  Const gREGKEYSYSINFOLOC As String = "SOFTWARE\Microsoft\Shared Tools Location"
	Const gREGVALSYSINFOLOC As String = "MSINFO"
	Const gREGKEYSYSINFO As String = "SOFTWARE\Microsoft\Shared Tools\MSINFO"
	Const gREGVALSYSINFO As String = "PATH"
	
	Private Declare Function RegOpenKeyEx Lib "advapi32"  Alias "RegOpenKeyExA"(ByVal hKey As Integer, ByVal lpSubKey As String, ByVal ulOptions As Integer, ByVal samDesired As Integer, ByRef phkResult As Integer) As Integer
	Private Declare Function RegQueryValueEx Lib "advapi32"  Alias "RegQueryValueExA"(ByVal hKey As Integer, ByVal lpValueName As String, ByVal lpReserved As Integer, ByRef lpType As Integer, ByVal lpData As String, ByRef lpcbData As Integer) As Integer
	Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Integer) As Integer
	
	Private Sub frmAbout_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
    '	LoadResStrings(Me)
    'lblVersion.Text = "版本 " & System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly.Location).FileMajorPart & "." & System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly.Location).FileMinorPart
    'lblTitle.Text = System.Reflection.Assembly.GetExecutingAssembly.GetName.Name
	End Sub
	
	
	Private Sub cmdSysInfo_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdSysInfo.Click
		Call StartSysInfo()
	End Sub
	
	Private Sub cmdOK_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdOK.Click
		Me.Close()
	End Sub
	
	Public Sub StartSysInfo()
		On Error GoTo SysInfoErr
		
		Dim rc As Integer
    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, AppWinStyle.NormalFocus)
		
		Exit Sub
SysInfoErr: 
		MsgBox("此时系统信息不可用", MsgBoxStyle.OKOnly)
	End Sub
	
	Public Function GetKeyValue(ByRef KeyRoot As Integer, ByRef KeyName As String, ByRef SubKeyRef As String, ByRef KeyVal As String) As Boolean
		Dim i As Integer ' 循环记数器
		Dim rc As Integer ' 返回代码
		Dim hKey As Integer ' 打开的注册表键句柄
    Dim KeyValType As Integer ' 注册表键数据类型
		Dim tmpVal As String ' 临时存储一个注册表键值
		Dim KeyValSize As Integer ' 注册表键变量大小
		'------------------------------------------------------------
		' 在键根{HKEY_LOCAL_MACHINE...}之下打开注册键
		'------------------------------------------------------------
		rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' 打开注册表键
		
		If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' 错误处理...
		
		tmpVal = New String(Chr(0), 1024) ' 分配变量空间
		KeyValSize = 1024 ' 标记变量大小
		
		'------------------------------------------------------------
		' 检索注册表键值...
		'------------------------------------------------------------
		rc = RegQueryValueEx(hKey, SubKeyRef, 0, KeyValType, tmpVal, KeyValSize) ' 获得/创建键值
		
		If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' 错误处理
		
    tmpVal = vb.Left(tmpVal, InStr(tmpVal, 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 = vb.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

  Private Sub lnkWebSite_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles lnkWebSite.LinkClicked
    Try
      Dim strUrl As String
      strUrl = "http://www.trfsoft.com"
      System.Diagnostics.Process.Start(strUrl)
    Catch ex2 As Exception
      MsgBox("访问网页时发生错误,请手动访问如下网址:http://www.trfsoft.com", MsgBoxStyle.OKOnly + MsgBoxStyle.Exclamation, "http://www.trfsoft.com")
    End Try
  End Sub
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -