如何使用Python在Windows应用程序中获得右键单击上下文菜单?

如何使用Python在Windows应用程序中获得右键单击上下文菜单?,python,windows,win32gui,pywinauto,Python,Windows,Win32gui,Pywinauto,如何在使用Python的Windows应用程序中获得右键单击上下文菜单,不要设置光标的位置,以及何时不聚焦该Windows应用程序 上下文菜单不是资源管理器上下文菜单,它是Windows应用程序右键单击上下文菜单 以下是记事本的一个示例: app.UntitledNotepad.Edit.Click(button='right') # works app.PopupMenu.MenuSelect('Paste') # seems not working when Notepad is not i

如何在使用Python的Windows应用程序中获得右键单击上下文菜单,不要设置光标的位置,以及何时不聚焦该Windows应用程序

上下文菜单不是资源管理器上下文菜单,它是Windows应用程序右键单击上下文菜单


以下是记事本的一个示例:

app.UntitledNotepad.Edit.Click(button='right') # works
app.PopupMenu.MenuSelect('Paste') # seems not working when Notepad is not in focus
# though it works when app.UntitledNotepad.SetFocus() is called before
app.PopupMenu.MenuSelect('Paste')
在这种情况下可能不起作用,因为
WM\u命令可能只能发送到聚焦窗口。要使其工作,请使用app.PopupMenu.MenuItem(“粘贴”)。单击输入()
,尽管您的应用程序窗口将以任何方式聚焦


最后有两个工作示例。第一个是:

app.UntitledNotepad.SetFocus()
app.UntitledNotepad.Edit.Click(button='right')
app.PopupMenu.MenuSelect('Paste')
二是:

app.UntitledNotepad.Edit.Click(button='right')
app.PopupMenu.MenuItem('Paste').ClickInput()

app.UntitledNotepad.Edit.Click(button='right')
工作正常,但下一个命令
app.PopupMenu.MenuSelect('Paste')
将记事本窗口置于焦点位置。你有同样的问题吗?谢谢你的回答。我没有得到正确的答案,但找到了解决这个问题的方法。又是坦斯克!:)看看这个解决方案会很有趣。