我目前正在寻找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调用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)