草庐IT

wmi-query

全部标签

c++ - 如何加入 WMI 查询 (WQL)

我想通过WQL查询获取启动硬盘的序列号。可以使用以下查询检索引导分区:SELECT*FROMWin32_DiskPartitionwhereBootPartition=True序列号在Win32_DiskDrive中:SELECTDeviceID,SerialNumberFROMWin32_DiskDriveWin32_DiskDriveToDiskPartition具有Win32_DiskDrive到Win32_DiskPartition的映射。它们被映射到Win32_DiskDriveToDiskPartition中的Win32_DiskDrive.DeviceID到Win32_D

windows - 如何在没有 WMI 的情况下获得唯一的机器签名?

我知道question已经有人问我如何为机器生成唯一ID,但我的问题略有不同。我想知道是否有任何其他方法(API调用?)来获取硬件信息而不使用WMI。我从MSDN了解到WMI是在Win2000中引入的,因此它似乎在Win98中不可用。我有一个应用程序甚至必须在Win98上运行(我知道这很糟糕,但你能做什么?)并且仍然掌握硬件信息。 最佳答案 我已经为许可项目做过几次这样的事情。对于硬盘驱动器序列号,请使用:privatestaticexternlongGetVolumeInformation(stringPathName,Strin

python - 使用 Windows API 或 WMI 确定进程是否显示在任务栏中

所以,我正在编写一个类似停靠栏/任务栏的应用程序。我想做的很简单,显示正在运行的程序列表。我找到了很多方法来枚举所有正在运行的进程,但经过数小时的谷歌搜索后,我无法找到一种方法来确定哪些应该显示在任务栏中。以Windows任务管理器为例。它有两个选项卡,一个名为Applications,另一个名为processes。进程包含所有系统进程,而程序以某种方式获取计算机上运行的“应用程序”列表。我希望能够访问我的程序中的应用程序列表,而不是进程列表,以便在我的伪任务栏中我不会显示taskhost.exe、winlogon.exe等内容。理想情况下,我能够获得任务栏中显示的确切程序列表。我的程

c# - API/WMI 查询系统上安装的修补程序和更新的完整列表?

以前,如何查询安装在Windows系统上的修补程序列表是discussed,并且建议使用WMI和类Win32_QuickFixEngineering来提供信息。然而MSDN表示从Vista开始,这个特定的类只返回修补程序,而不是通过其他方式安装的更新。Anolderquestion讨论了使用此类来获取已安装的更新,表明由于我上面描述的限制,作者也不满意使用它。不幸的是,正如对已接受答案的评论所指出的那样,使用WindowsUpdateAgentAPI的替代解决方案仍然会指示已安装修补程序,即使随后已将其删除(它正在查询安装历史记录,而不是当前安装的更新).有谁知道如何在C#中(通过WM

C#/WMI : How to remotely check if Windows has updates ready to be installed?

我尝试在谷歌上找到解决方案,但运气不佳,也许这里有人知道该怎么做? 最佳答案 不确定您是否可以远程执行此操作,但您可以“伪造”它。查看WindowsUpdateAgentAPI的MSDN文档,特别是名为Searching,Downloading,andInstallingUpdates的文章.其中包含一个脚本,其中列出了准备安装的更新。如果你拿走那部分脚本并将其修改为将列表写入文件,那么你可以将脚本复制到远程计算机,远程执行脚本,然后读取文件(最后删除文件和脚本从远程计算机进行清理)。您可以使用WMI远程执行脚本,有关从C#执行此操

windows - 是否有 WMI 可再发行组件包?

我一直致力于一个访问WMI的项目,以获取有关安装在用户计算机上的软件的信息。我们一直在查询Win32_Product,结果发现它在64位版本的Windows中不存在,因为它是"optionalcomponent"。.我知道有很多非常好的替代方法可以查询WMI以获取此信息,但我有一点vestedinterest了解这将如何解决。我想知道的是,是否有某种可重新分发的软件可以与我们的软件打包在一起,以允许64位用户将WMIInstallerProvider安装到他们的机器上?现在,他们必须手动安装它,并且安装要求他们手边有Windows光盘。编辑:Youdidn'tmentionforwha

windows - 使用 WMI 在 Windows 上检测防病毒 - 哪个命名空间?

我正在编写防病毒检测代码,WMI命名空间在某些情况下有所不同,因为Win7支持“\root\SecurityCenter2”而WinXP使用“\root\SecurityCenter”。是否有人拥有Windows用于反病毒注册的命名空间的明确列表?提前致谢.. 最佳答案 返回有关已安装防病毒软件信息的类(AntiVirusProduct)未被Microsoft记录,并且仅在Windows桌面版本(WindowsXP、WindowsVista和Windows7)中受支持。此外,根据Windows版本,此类检索的属性可能会发生变化。Wi

c++ - 如何使用 MinGW 调用 WMI

在网上(包括MSDN)搜索了几天使用C++获取硬件唯一ID的方法后,我发现我需要使用WMI。其实我也可以找到一些很好的例子,比如this一。问题是:我无法使用MinGW编译它,但是它在使用Microsoft编译器的VisualStudio上运行得很好,但是使用MinGW(我的应用程序是用它编译的)它给了我很多错误。这听起来可能是一个老问题,但不幸的是,经过几天的网络搜索,我至今找不到解决方案。我在Windows7上使用MinGW。 最佳答案 MinGW不支持WMI。在MinGW64中有一些努力,但仍然不能称为完整(例如,缺少wbem

windows - Windows XP SP3 的远程 WMI

全新的WindowsXPSP3安装不允许像WindowsXPSP2那样进行远程WMI访问。如果我按照位于http://support.microsoft.com/kb/875605的“如何解决WindowsXPSP2中与WMI相关的问题”文档中的步骤进行操作我无法让SP3响应远程WMI请求。每个请求,甚至是内置管理员帐户、管理员组中的新帐户,甚至是不在管理员组中但有权访问远程DCOM和WMI命名空间的新帐户,如Microsoft文档中所述返回错误代码0x80070005,访问被拒绝。为了验证我没有愚蠢的系统配置,我安装了一个新的WindowsXPSP3镜像(使用来自MSDN的.ISO镜

windows - WMI 处理器类型

WMIC的CPU别名返回一个名为ProcessorType的值,MSDN指出有6个可能的值:1(0x1)Other2(0x2)Unknown3(0x3)CentralProcessor4(0x4)MathProcessor5(0x5)DSPProcessor6(0x6)VideoProcessorhttp://msdn.microsoft.com/en-us/library/aa394373(v=vs.85).aspx除3以外的任何类型的处理器都可以用作主(或唯一)处理器吗?我正在编写一个硬件哈希函数,我不想包含专用处理器,除非缺少通用处理器。 最佳答案