微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用WinapireplaceWMI调用

我目前正在寻找replace所有使用WMI的代码与等效的win32 API调用。 我这样做是因为我注意到WMI调用比win32 api调用需要更长的时间。 一些例子可以在下面看到:

上市服务:

wmi:〜4秒

winapi:〜0.003秒

列表打印机:

wmi:〜0.5秒

winapi:〜0.009秒

列出Windows用户

Windows上的静态链接的Python

在Linux中工作时模拟Ctrl-C键盘中断

Python:help(numpy)在退出时导致段错误

Windows服务代码在使用Pywin32 / PyInstaller时会产生线程错误

在windows机器上用pip安装Hiredis

wmi:〜0.5秒

winapi:〜0.2秒

是否有可能取代所有的WMI电话? 作为一般规则,WMI中的每个任务都可以使用winapi调用来执行吗?

我已经设法取代大部分的我的wmi代码,但我有以下左:

创build还原点

枚举networking适配器

枚举分区

我在列举networking适配器时遇到了一些困难。

它也值得一提的是,我使用Python(2.7)来执行所有这些调用(使用ctypes,windll和win32 api库,如win32net,win32service等)。

如何通过Pythonfind与Windows文件关联的图标?

PowerShell中的Python与Python? Windows中的替代shell?

如何更改PyScripter中的字体(大小/家庭)?

访问cpu / RAM的使用(如使用任务pipe理器,但通过API!)?

使用python在Windows上创build兼容的ldap密码(md5crypt)

:是否有可能取代所有的wmi电话?

:大多数WMI查询都可以用WinAPI方法替代,但有一些例外。

:一般来说,WMI中的每个任务都可以用winapi调用来执行吗?

:不是,并不是所有的WMI类都有WinAPI等价物。 例如,与IIS相关的任务只能使用IIS WMI Provider执行 。 此外,没有WinAPI方法枚举还原点,依此类推。

对于您未决的任务,您可以使用这些WinAPI方法

创建恢复点 – 系统恢复功能

枚举网络适配器 – GetAdaptersInfo函数

枚举分区 – 使用DeviceIoControl方法和IOCTL_disK_GET_DRIVE_LAYOUT_EX控制代码

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐