2015-10-30 5 views
2

Как получить контекстное меню правой кнопки мыши в приложении Windows с использованием Python, не устанавливайте позицию курсора и не фокусируйте это приложение Windows.Как получить контекстное меню правой кнопки мыши в приложении Windows с помощью Python?

Контекстное меню не является контекстным меню Проводника, это контекстное меню приложения Windows.

enter image description here

+0

(кнопка = 'право') '' app.UntitledNotepad.Edit.Click работает правильно, но следующая команда 'app.PopupMenu.MenuSelect («Вставить») 'получает окно« Блокнот »в фокус. У вас есть такая же проблема? –

ответ

1

Вот пример для Блокнота:

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(), хотя ваше окно приложения будет полностью сфокусировано.


Итак, наконец, есть 2 рабочих примера. Первый:

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

Второй:

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

Благодарим вас за ответ. я не получил правильного ответа, но получил решение или способ решения этой проблемы. Танск снова! :) –

+0

Было бы интересно посмотреть на решение. –