我目前正在寻找replace所有使用WMI的代码与等效的win32 API调用。 我这样做是因为我注意到WMI调用比win32 api调用需要更长的时间。 一些例子可以在下面看到:
上市服务:
wmi:〜4秒
winapi:〜0.003秒
列表打印机:
wmi:〜0.5秒
winapi:〜0.009秒
列出Windows用户:
Windows上的静态链接的Python
在Linux中工作时模拟Ctrl-C键盘中断
Windows服务代码在使用Pywin32 / PyInstaller时会产生线程错误
在windows机器上用pip安装Hiredis
wmi:〜0.5秒
winapi:〜0.2秒
是否有可能取代所有的WMI电话? 作为一般规则,WMI中的每个任务都可以使用winapi调用来执行吗?
创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] 举报,一经查实,本站将立刻删除。