ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何使用API的注册表读取来获取系统安装时间?

如何使用API的注册表读取来获取系统安装时间?

作者:绿色风 分类: 时间:2022-08-17 浏览:96
楼主
chrisfang
Q:如何使用API的注册表读取来获取系统安装时间?
A:在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion键值下,存有系统安装日期的相关信息。通过VBA调用API中的注册表读取函数,可以编程获取系统的安装时间。具体可参考如下代码:

  1. Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String _
  2. , phkResult As Long)  As Long
  3. Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName _
  4. As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
  5. Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
  6. Private Const HKEY_LOCAL_MACHINE = &H80000002
  7. Private Const REG_DWORD = 4

  8. Private Sub CommandButton1_Click()
  9. Dim RegDate As Long
  10. On Error Resume Next
  11.           If RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion", hKey) = 0 Then
  12.              If RegQueryValueEx(hKey, "InstallDate", 0&, REG_DWORD, RegDate, 4) = 0 Then
  13.                   If RegDate > 0 Then
  14.                        SystemInstallDate = DateAdd("s", RegDate, "1970-01-01 00:00")
  15.                   Else
  16.                        SystemInstallDate = "未知"
  17.                   End If
  18.              End If
  19.              If hKey Then RegCloseKey hKey
  20.           End If
  21. MsgBox "系统安装时间为:" & SystemInstallDate, vbInformation, ""
  22. End Sub

 


获取系统安装时间.rar
2楼
xyf2210
学习API

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap