python实现查看窗口进程pid

#coding=utf-8
#date 2020.12.23
#depand:python3.8,win32
#描述:鼠标悬停窗体2秒输出进程名和PID
from win32 import win32gui,win32process   
import time
import sys

def get_PID(point):
    try:
        p=win32gui.WindowFromPoint(point)    
        p_name=win32gui.GetWindowText(p)
        _,p_id=win32process.GetWindowThreadProcessId(p)
        print(p_name,p_id)
    except:
        print("win32获取窗体信息失败 error")
        sys.exit(1)

def main():
    while True:
        point1 =win32gui.GetCursorPos()#获取鼠标坐标
        time.sleep(2)
        point2 =win32gui.GetCursorPos()#获取鼠标坐标
        if point2 == point1:
           get_PID(point2)
if __name__ == "__main__":
    main()
  

首先安装第三方库:pin install pywin32

使用Pyinstaller打包,打包完大概6.7mb,这也是Python无奈的地方,随便几行代码就这么大,最好还是用编译语言实现,几十kb就行了。本例中代码量不多,但是看win32的开发文档过程还是蛮痛苦的,希望能给大家提供一些思考问题的思路。Python版最后执行效果如下:

Input Flyout 6840
Chrome Legacy Window 13060
Chrome Legacy Window 13060
微信 13912
微信 13912
微信 13912
微信 13912

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值