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获取计算机名。
使用效果如图所示:


发布评论