Imports System.Management
Module Module1
Sub Main()
Dim scope As ManagementScope = New ManagementScope("\\.\root\CIMV2\Security\MicrosoftTpm")
Dim query As SelectQuery = New SelectQuery("Win32_Tpm")
Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher(scope, query)
Dim mo As ManagementObject
Dim thing() As Object = {False}
For Each mo In searcher.Get()
mo.InvokeMethod("IsActivated", thing)
Dim TPMActivated As ManagementBaseObject = mo.InvokeMethod("IsActivated", Nothing, Nothing)
Dim TPMEnabled As ManagementBaseObject = mo.InvokeMethod("IsEnabled", Nothing, Nothing)
Dim TPMOwned As ManagementBaseObject = mo.InvokeMethod("IsOwned", Nothing, Nothing)
Console.WriteLine(thing(0).ToString)
Console.WriteLine(TPMActivated("IsActivated") & " " & TPMEnabled("IsEnabled") & " " & TPMOwned("IsOwned"))
Next
Console.ReadKey()
End Sub
End Module