用WinapireplaceWMI调用

用WinapireplaceWMI调用,第1张

概述用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控制代码

总结

以上是内存溢出为你收集整理的用WinapireplaceWMI调用全部内容,希望文章能够帮你解决用WinapireplaceWMI调用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1238585.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存