“获取电脑显示器序列号”,这个任务通过反复尝试完成了。可惜,没法用,产品提的需求是获取显示器背后的标签上的序列号。我只听到“序列号”就信心满满的开工了。教训惨重。把这段脚本分享出来,希望能帮到谁。通过EDID信息,获取电脑显示器序列号,并输出到文件中。
Dim strComputer, objWMIService, colItems, objItem
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\wmi")
Set colItems = objWMIService.ExecQuery ("SELECT * FROM WMIMonitorID")
strKeys=""
For Each objItem In colItems
strResult = objItem.InstanceName
strResult = Left(strResult,Len(strResult)-2)
strKeys = strKeys & strResult & vbcrlf
Next
'Wscript.Echo strKeys
dim fso, f
set fso = CreateObject("Scripting.FileSystemObject")
set f = fso.CreateTextFile("sn-path.txt", true) '第二个参数表示目标文件存在时是否覆盖
f.Write(strKeys)
f.Close()
set f = nothing
set fso = nothing
我电脑上运行结果:
DISPLAY\LEN40A0\4&2a430760&0&UID265988
DISPLAY\LEN61AB\4&2a430760&0&UID65793
教训: 相同的字词,在不同人的大脑里,浮现的含义并不相同。这是产生沟通障碍的原因之一。《定位:有史以来对美国营销影响最大的观念》,这书中提到的道理跟这件事类似。