ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: andysky

[分享] VBA获取您的电脑硬件信息

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-3-9 17:28 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖已被收录到知识树中,索引项:WMI应用
原帖由 dahaocai 于 2009-2-21 16:03 发表
前段时间我得到了这段代码,太繁琐了,不如你的精干、强悍,能精减一下吗?只要显示硬盘的物理序列号,谢了


Private Const MAX_IDE_DRIVES As Long = 4   ' Max number of drives assuming primary/secondary, ma ...

1.你这个方法仅仅用查看盘符的卷标。而卷标是可以修改的,用它做为软件的序列号认证依据是不可靠的
2.这段超长的代码,其实可以用一句代码完成的。效率差了点。
    MsgBox CreateObject("WScript.Shell").Exec("cmd.exe /c " & """VOL c:""").StdOut.ReadAll, , "C盘卷标"

[ 本帖最后由 andysky 于 2009-3-9 18:04 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-3-9 19:36 | 显示全部楼层
差别这么大???

TA的精华主题

TA的得分主题

发表于 2009-3-10 15:45 | 显示全部楼层
23楼的代码晕翻了我
不过佩服这种代码作者的耐心

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-3-10 15:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 zlxtl 于 2009-3-10 15:45 发表
23楼的代码晕翻了我
不过佩服这种代码作者的耐心

不得不服。
为了取得卷标写309行代码,确非常人能有的耐心
不过可能对API有先入为主的思想,没想过DOS代码可以一句完成309句的功能。

TA的精华主题

TA的得分主题

发表于 2009-3-11 20:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
软件的也放在这吧,自己收集一下
取得文件属性
Sub FileInfo()
    Dim fso, f1
    Dim strTmp As String
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f1 = fso.GetFile("C:\CIMG1689.jpg")
   
    strTmp = strTmp & f1.Name & "的详细资料:" & vbCrLf
    strTmp = strTmp & vbTab & "路径:" & f1.Path & vbCrLf
    strTmp = strTmp & vbTab & "类型:" & f1.Type & vbCrLf
    strTmp = strTmp & vbTab & "属性:" & GetFileAttr(f1) & vbCrLf
    strTmp = strTmp & vbTab & "创建时间:" & f1.DateCreated & vbCrLf
    strTmp = strTmp & vbTab & "最后访问时间:" & f1.DateLastAccessed & vbCrLf
    strTmp = strTmp & vbTab & "最后修改时间:" & f1.DateLastModified & vbCrLf
    strTmp = strTmp & vbTab & "文件大小(Bytes):" & f1.Size & vbCrLf
    MsgBox strTmp
End Sub
GetAttr 函数
      

返回一个 Integer,此为一个文件、目录、或文件夹的属性。

语法

GetAttr(pathname)

必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或文件夹、以及驱动器。

返回值

由 GetAttr 返回的值,是下面这些属性值的总和:

常数 值 描述
vbNormal 0 常规
vbReadOnly 1 只读
vbHidden 2 隐藏
vbSystem 4 系统文件 在 Macintosh 中不可用。
vbDirectory 16 目录或文件夹
vbArchive 32 上次备份以后 在 Macintosh 中不可用.,文件已经改变
vbalias 64 指定的文件名是别名。 只在 Macintosh中可用。



注意 这些常数是由 VBA 指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的值。

说明

若要判断是否设置了某个属性,在 GetAttr 函数与想要得知的属性值之间使用 And 运算符与逐位比较。如果所得的结果不为零,则表示设置了这个属性值。例如,在下面的 And 表达式中,如果档案 (Archive) 属性没有设置,则返回值为零:

Result = GetAttr(FName) And vbArchive

如果文件的档案属性已设置,则返回非零的数值。
运行系统提示GetFileAttr  子程序或函数 未定义
改为GetAttr就可以了

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-4-18 14:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 sblisb 于 2009-3-11 20:36 发表
软件的也放在这吧,自己收集一下
取得文件属性
Sub FileInfo()
    Dim fso, f1
    Dim strTmp As String
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f1 = fso.GetFile("C:\CIMG1689 ...

继续 记叙

TA的精华主题

TA的得分主题

发表于 2009-4-25 15:19 | 显示全部楼层
面对这么强的搂主,只能无语。

TA的精华主题

TA的得分主题

发表于 2009-4-25 15:29 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-5-5 11:20 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-5-5 12:15 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-22 02:36 , Processed in 0.035977 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表