python获取windows进程 标题_使用进程名称获取另一个程序窗口的标题

这是我在评论中的意思:

import win32gui

def enumWindowsProc(hwnd, lParam):

print win32gui.GetWindowText(hwnd)

win32gui.EnumWindows(enumWindowsProc, 0)

下面,我粘贴了整个事情……它在我现在的PC上不起作用,因为我搞砸了安全设置(这是一个XP !!!)我得到了一堆Access拒绝(错误)代码:5)错误,但在这里.

code.py:

#!/usr/bin/env python3

import sys

import os

import traceback

import ctypes

from ctypes import wintypes

import win32con

import win32api

import win32gui

import win32process

def enumWindowsProc(hwnd, lParam):

if (lParam is None) or ((lParam is not None) and (win32process.GetWindowThreadProcessId(hwnd)[1] == lParam)):

text = win32gui.GetWindowText(hwnd)

if text:

wStyle = win32api.GetWindowLong(hwnd, win32con.GWL_STYLE)

if wStyle & win32con.WS_VISIBLE:

print("%08X - %s" % (hwnd, t

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows 中,可以使用 `win32gui` 模块中的函数来监视并处理窗口消息。具体来说,要监视一个窗口是否收到 `WM_CLOSE` 消息,可以使用以下步骤: 1. 使用 `win32gui.FindWindow()` 函数查找要监视的窗口的句柄。如果窗口句柄已知,则可以直接使用该句柄,否则需要根据窗口标题或类名等信息来查找窗口句柄。 2. 使用 `win32gui.SetWindowLong()` 函数设置窗口过程函数。窗口过程函数是一个回调函数,用于处理窗口消息。在本例中,需要监视 `WM_CLOSE` 消息,因此需要在窗口过程函数中处理该消息。 3. 在窗口过程函数中处理 `WM_CLOSE` 消息。当窗口收到 `WM_CLOSE` 消息时,可以执行一些操作,例如退出程序。 以下是一个简单的示例代码,可以监视自身窗口是否收到 `WM_CLOSE` 消息: ```python import win32api import win32con import win32gui # 窗口过程函数 def wndProc(hwnd, msg, wParam, lParam): if msg == win32con.WM_CLOSE: # 窗口收到 WM_CLOSE 消息,执行退出操作 win32api.PostQuitMessage(0) return win32gui.DefWindowProc(hwnd, msg, wParam, lParam) # 创建窗口 win32gui.InitCommonControls() hwnd = win32gui.CreateWindow("BUTTON", "My Window", 0, 0, 0, 0, 0, 0, 0, None, None, None) # 设置窗口过程函数 oldWndProc = win32gui.SetWindowLong(hwnd, win32con.GWL_WNDPROC, wndProc) # 进入消息循环,等待窗口消息 while True: msg = win32gui.GetMessage(None, 0, 0) if msg == 0: break win32gui.TranslateMessage(msg) win32gui.DispatchMessage(msg) ``` 在这个示例中,我们创建一个简单的窗口,并在窗口过程函数中处理 `WM_CLOSE` 消息。在消息循环中,我们使用 `GetMessage()` 函数获取窗口消息,如果收到 `WM_QUIT` 消息,就退出消息循环。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值