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

3
如何使用Python在Windows应用程序中获取正确的右键上下文菜单,不设置光标位置并且不聚焦于该Windows应用程序。
上下文菜单不是资源管理器上下文菜单,而是Windows应用程序右键上下文菜单。

app.UntitledNotepad.Edit.Click(button='right') 正常工作,但下一个命令 app.PopupMenu.MenuSelect('Paste') 会将记事本窗口置于焦点。您是否遇到了同样的问题? - Vasily Ryabov
1个回答

2

以下是Notepad的示例:

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_COMMAND。要使其工作,请使用app.PopupMenu.MenuItem('Paste').ClickInput(),尽管您的应用程序窗口将以任何方式获得焦点。


所以最终有两个可行的示例。第一个是:

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

第二点是:
app.UntitledNotepad.Edit.Click(button='right')
app.PopupMenu.MenuItem('Paste').ClickInput()

谢谢你的回答。虽然我没有得到正确的答案,但是我得到了解决这个问题的方法或途径。再次感谢!:) - 최경우
1
看看这个解决方案会很有趣。 - Vasily Ryabov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接