كيف يمكنني اختبار ما إذا كان "Microsoft Windows 7 Home Premium" هو نظام التشغيل باستخدام VBScript؟
-
22-09-2019 - |
سؤال
محاولتي الأولى هي الاستعلام عن نظام WIN32_OPERATINGSYSTEM للتسمية التوضيحية ، واختبار ما إذا كانت التسمية التوضيحية "تساوي" نظام التشغيل الذي أختبره:
Dim objWMIService, strComputer
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
msgbox getOperatingSystemCaption()
msgbox meetsOperatingSystemRequirement()
Function getOperatingSystemCaption()
Dim strCaption, colOperatingSystems, objOperatingSystem
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
strCaption = objOperatingSystem.Caption
Exit For
Next
getOperatingSystemCaption = strCaption
End Function
Function meetsOperatingSystemRequirement()
meetsOperatingSystemRequirement = False
If getOperatingSystemCaption() = "Microsoft Windows 7 Home Premium" Then
meetsOperatingSystemRequirement = True
End If
End Function
أفترض أنه يمكنني استخدام Instr ، ومع ذلك ما زلت لا أفهم لماذا "التسمية التوضيحية" وسلسلة بلدي ليست متساوية.
المحلول
هل أنت متأكد من أن لديك "Microsoft Windows XP" وليس "Microsoft Windows XP Professional"؟ إذا كنت تستخدم "=" علامة ، فلن تلتقطها لأنها تتوقع مطابقة سلسلة دقيقة. استخدم Instr () سيكون أفضل إذا كنت تريد تطابق جزئي. خلاف ذلك ، أضف "المهنية"
يمكنك وضع بعض الأخطاء بعد العثور على التسمية التوضيحية
....
msgbox strCaption & " " & len(strCaption)
getOperatingSystemCaption = strCaption
....
وجرب طريقة مختلفة
.....
myCaption = getOperatingSystemCaption()
msgbox myCaption & " " & len(myCaption)
If myCaption = "Microsoft Windows XP Premium Home" Then
......
تحقق من الطول أيضًا ...
لا تنتمي إلى StackOverflow