VB.Net RAM Windows类型网络摄像机UAC

VB.Net RAM Windows类型网络摄像机UAC,vb.net,string,types,ram,pc,Vb.net,String,Types,Ram,Pc,我如何检索以下内容: Windows位类型(32或84) RAM值 电脑是否有摄像头 用户权限 几乎所有这些都需要p/Invoke或WMI来确定: 可以使用System.Management.ManagementObjectSearcher(WMI)进行推测。查看“标题”以查看是否有“x64”。有些人会玩一些数学把戏,但这似乎更值得怀疑 与可用的RAM/虚拟RAM相比,它实际上并不重要,但是: Microsoft.VisualBasic.Devices.ComputerInfo.Availabl

我如何检索以下内容:

  • Windows位类型(32或84)

  • RAM值

  • 电脑是否有摄像头

  • 用户权限


  • 几乎所有这些都需要p/Invoke或WMI来确定:

  • 可以使用
    System.Management.ManagementObjectSearcher
    (WMI)进行推测。查看“标题”以查看是否有“x64”。有些人会玩一些数学把戏,但这似乎更值得怀疑

  • 与可用的RAM/虚拟RAM相比,它实际上并不重要,但是:

    Microsoft.VisualBasic.Devices.ComputerInfo.AvailablePhysicalMemory
    Microsoft.VisualBasic.Devices.ComputerInfo.AvailableVirtualMemory
    
  • 使用PInvoke-
    GetRawInputDeviceList
    。迭代列表并查找隐藏项

  • 我不知道如何获得确切的级别,但这里有一种方法可以查看他们是否是管理员:

    Public Function isWindowsAdministrator() As Boolean
        My.User.InitializeWithWindowsUser()
        If My.User.IsAuthenticated Then
        If My.User.IsInRole(Microsoft.VisualBasic.ApplicationServices.BuiltInRole.Administrator) Then
            Return True
        End If
    End If
    Return False
    End Function
    
  • 还有另一种方法需要取消SAGE win32调用