2011-02-10 3 views
2

Я пытаюсь управлять медиа-плеером Windows с помощью python с фреймворком pywinauto. Я могу получить доступ к меню, например, с помощью app.WindowsMediaPlayer.MenuSelect («View-> GoTo-> Library») , но когда я пытаюсь получить доступ к элементам библиотеки, используя диалог не удается. аналогично для панели задач слева хочет получить доступ к нему напрямую, без доступа к меню, нажав на кнопку слева .... нужна помощь на этом ...Pywinauto для управления медиаплеером

+0

Вот еще один пример, надеюсь, что это поможет. http://stackoverflow.com/q/31884590/4540965 –

ответ

0
>>> wmp.WindowsMediaPlayer.MenuSelect("View->Library") 
>>> wmp.WindowsMediaPlayer.print_control_identifiers() 
Control Identifiers: 
WMPAppHost - 'WMPAppHost' (L40, T152, R731, B648) 
     'WMPAppHost' 'WMPAppHostWMPAppHost' 
WMP Skin Host - '' (L40, T188, R731, B588) 
     '' '0' '1' 'WMP Skin Host' 
ATL:5BB55150 - 'LibraryContainer' (L40, T188, R731, B588) 
     'ATL:5BB55150' 'LibraryContainer' 'LibraryContainerATL:5BB55150' 
ATL:5BB550C0 - '' (L190, T220, R193, B588) 
     '2' 'ATL:5BB550C0' 
ToolbarWindow32 - '' (L40, T188, R40, B188) 
     '3' 'Toolbar' 'Toolbar0' 'Toolbar1' 
ToolbarWindow32 - 'View Toolbar' (L416, T189, R461, B219) 
     'Toolbar2' 'View Toolbar' 'View ToolbarToolbar' 
ToolbarWindow32 - '' (L705, T193, R729, B215) 
     '4' 'Toolbar3' 
ToolbarWindow32 - 'Command Toolbar' (L44, T189, R414, B219) 
     'Command Toolbar' 'Command ToolbarToolbar' 'Toolbar4' 
Edit - 'Search' (L465, T197, R663, B213) 
     '5' 'Edit' 
ToolbarWindow32 - '' (L663, T194, R689, B214) 
     '6' 'Toolbar5' 
ToolbarWindow32 - '' (L689, T194, R703, B214) 
     '7' 'Toolbar6' 
SysListView32 - 'PrimaryListView' (L193, T220, R731, B588) 
     'ListView' 'PrimaryListView' 'PrimaryListViewListView' 
SysHeader32 - '' (L193, T220, R716, B244) 
     '8' 'Header' 
SysTreeView32 - 'Library Treeview' (L40, T220, R190, B538) 
     'Library Treeview' 'Library TreeviewTreeView' 'TreeView' 
ATL:5BB62F40 - 'ServiceBar' (L40, T538, R190, B588) 
     'ATL:5BB62F40' 'ServiceBar' 'ServiceBarATL:5BB62F40' 
ToolbarWindow32 - 'Service Selector' (L46, T541, R184, B585) 
     'Service Selector' 'Service Selector0' 'Service Selector1' 'Service SelectorToolbar' 'Servic 
e SelectorToolbar0' 'Service SelectorToolbar1' 'Toolbar7' 
ToolbarWindow32 - 'Service Toolbar' (L184, T541, R184, B585) 
     'Service Toolbar' 'Service ToolbarToolbar' 'Toolbar8' 
ToolbarWindow32 - 'Service Selector' (L184, T541, R184, B585) 
     'Service Selector2' 'Service SelectorToolbar2' 'Toolbar9' 

PrimaryListView выглядит, как это может быть тем, что нам нужно - так что давайте проверим, рисуя поле вокруг этого элемента управления.

>>> wmp.WindowsMediaPlayer.PrimaryListView.DrawOutline() 
>>> 

Кажется хорошим :). Итак, давайте посмотрим, если мы можем получить детали из этого ListView

>>> wmp.WindowsMediaPlayer.PrimaryListView.ItemCount() 
1217 

до сих пор так хорошо

>>> for item_index in range(wmp.WindowsMediaPlayer.PrimaryListView.ItemCount()): 
... print wmp.WindowsMediaPlayer.PrimaryListView.GetItem(item_index) 
... 
{'text': u'', 'state': 0L, 'indent': 240, 'image': 0} 
{'text': u'', 'state': 0L, 'indent': 240, 'image': 0} 
{'text': u'', 'state': 0L, 'indent': 240, 'image': 0} 
... 

Хм = теперь не выглядит слишком хорошо :( И там я застреваю, не более исследование

Смежные вопросы