将击键发送到非活动窗口

你好,我正在尝试制作一个发送按键2 chrome的应用程序,我当前拥有的代码是:

#you will need the win32 libraries for this snippet of code to work,Links below
import win32gui
import win32con
import win32api
from time import sleep

#[hwnd] No matter what people tell you,this is the handle meaning unique ID,#["Notepad"] This is the application main/parent name,an easy way to check for examples is in Task Manager
#["test - Notepad"] This is the application sub/child name,an easy way to check for examples is in Task Manager clicking dropdown arrow
#hwndMain = win32gui.FindWindow("Notepad","test - Notepad") this returns the main/parent Unique ID
hwndMain = win32gui.FindWindow("Notepad","test - Notepad")

#["hwndMain"] this is the main/parent Unique ID used to get the sub/child Unique ID
#[win32con.GW_CHILD] I havent tested it full,but this DOES get a sub/child Unique ID,if there are multiple you'd have too loop through it,or look for other documention,or i may edit this at some point ;)
#hwndChild = win32gui.GetWindow(hwndMain,win32con.GW_CHILD) this returns the sub/child Unique ID
hwndChild = win32gui.GetWindow(hwndMain,win32con.GW_CHILD)

#print(hwndMain) #you can use this to see main/parent Unique ID
#print(hwndChild)  #you can use this to see sub/child Unique ID

#While(True) Will always run and continue to run indefinitely
while(True):
    #[hwndChild] this is the Unique ID of the sub/child application/proccess
    #[win32con.WM_CHAR] This sets what PostMessage Expects for input theres KeyDown and KeyUp as well
    #[0x44] hex code for D
    #[0]No clue,good luck!
    #temp = win32api.PostMessage(hwndChild,win32con.WM_CHAR,0x44,0) returns key sent
    temp = win32api.PostMessage(hwndChild,0)

    #print(temp) prints the returned value of temp,into the console
    print(temp)
    #sleep(1) this waits 1 second before looping through again
    sleep(1)

但是我的问题是我如何找到chrome seing,因为它将其名称更改为活动选项卡,并且使用它也不起作用: hwndMain = win32gui.FindWindow(“ Google Chrome”,无)

zc88888 回答:将击键发送到非活动窗口

在类似的话题中,我看到这对人们有用。并且通过更改标题名称按原样运行代码对我来说很有效,但是您需要将标题输入顺序修改为这种格式。

 hwndMain = win32gui.FindWindow( "Google Chrome",None)

TO

 hwndMain = win32gui.FindWindow( None,"Google Chrome")
本文链接:https://www.f2er.com/2880094.html

大家都在问