python win32gui.findwindow_win32gui.FindWindow找不到风

我正在尝试使用Pywin32向不活动的tererm窗口发送击键。

This答案引导我编写了以下代码:import win32gui

import win32con

import win32api

hwndMain = win32gui.FindWindow("Tera Term VT", None)

print hwndMain

hwndChild = win32gui.GetWindow(hwndMain, win32con.GW_CHILD)

win32api.PostMessage(hwndChild, win32con.WM_CHAR, 0x5b, 0)

但是:

hwndMain = win32gui.FindWindow("Tera Term VT", None)返回0,找不到窗口。

如果我将"Tera Term VT"更改为"Notepad",我可以整天愉快地向活动记事本窗口发送击键。所以,为什么我拿不到TeraTerm窗户?PyHANDLE = FindWindow(ClassName, WindowName)

ClassName : PyResourceId

Name or atom of window class to find, can be None

WindowName : string

Title of window to find, can be None

那么我怎样才能得到正确的类名呢?

我尝试过Tera Term VT的每一个变体,转义空格:"Tera\ Term\ VT",用单引号将整个括起来:"'Tera Term VT'",但没有任何工作。我甚至尝试过使用进程的名称:"ttermpro.exe",在绝望中将子名称包含在字符串"COM11:115200baud - Tera Term VT"中,但没有任何效果。

有趣的是:import win32com.client

shell = win32com.client.Dispatch("WScript.Shell")

shell.AppActivate("Tera Term VT")

shell.SendKeys("\%i", 0)

工作很好,但是将窗口带到前台,我不希望这样。但是Tera Term VT字符串在这个实例中工作很好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值