admin管理员组文章数量:1516870
Python调用QQ截图工具
昨天听同事说想不打开QQ就使用QQ提供的截图功能,虽然只是一说,我倒是很感兴趣,于是从昨天下午到刚才用Python实现了一下。只实现了对截屏功能的调用,且不太实用,就当是玩了。
到QQ安装目录下找找,有个Camera.dll,看起来和截图有关,搜索一下,发现网上提到的应为CameraDll.dll,可能是后来改版了,用工具查看一下Camera.dll,如图所示:
import ctypes
import os
#截屏方法
def capture():
try:
dll = ctypes.cdll.LoadLibrary('CameraDll.dll')
except Exception:
print("Dll load error!")
try:
#如果dll加载失败,则换种方法使用,直接运行,如果还失败,退出
os.system("Rundll32.exe CameraDll.dll, CameraSubArea")
except Exception:
return
else:
try:
dll.CameraSubArea(0)
except Exception:
print("Sth wrong in capture!")
return
#获取计算机名
def getname():
pcName = ctypes.c_char_p(''.encode('utf-8'))
pcSize = 16
pcName = ctypes.cast(pcName, ctypes.c_char_p)
try:
ctypes.windll.kernel32.GetComputerNameA(pcName, ctypes.byref(ctypes.c_int(pcSize)))
except Exception:
print("Sth wrong in getname!")
print(pcName.value.decode('utf-8'))
def main():
getname()
#调用截屏
capture()
os.system("pause")
if __name__ == "__main__":
main()
加载完DLL后调用CameraSubArea即可,虽然不清楚里面应该传入什么参数,不过不影响使用。
另外一个方法是练习载入系统DLL获取计算机名。
使用效果如图所示:
版权声明:本文标题:PyQt在手,QQ截图自动化——Python助力图形界面开发 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.betaflare.com/web/1773242234a3277211.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论