1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import wx
- import pyHook
- from pyAA import *
-
- class myFrame(wx.Frame):
- def __init__(self):
- wx.Frame.__init__(self, None, -1, 'My Frame')
-
- self.hm = pyHook.HookManager()
- self.hm.MouseAllButtonsDown = self.OnMouseEvent
- self.hm.KeyDown = self.OnKeyboardEvent
-
- self.hm.HookMouse()
- self.hm.HookKeyboard()
-
- wx.EVT_CLOSE(self, self.OnClose)
-
- def OnGetAO(self, event):
- if event.Type == 'keyboard':
- ao = AccessibleObjectFromWindow(event.Window, OBJID_CLIENT)
- elif event.Type == 'mouse':
- ao = AccessibleObjectFromPoint(event.Position)
- print
- print '---------------------------'
- print 'Event:'
- print ' ',event.MessageName
- print ' Window:', event.WindowName
- if event.Type == 'keyboard':
- print ' Key:',event.Key
- print
- print 'Object:'
- try:
- print ' Name:', ao.Name
- except:
- print
-
- try:
- print ' Value:', ao.Value
- except:
- print
- try:
- print ' Role:', ao.RoleText
- except:
- print
-
- try:
- print ' Description:', ao.Description
- except:
- print
-
- try:
- print ' State:', ao.StateText
- except:
- print
-
- try:
- print ' Shortcut:', ao.KeyboardShortcut
- except:
- print
-
- def OnMouseEvent(self, event):
- event.Type = 'mouse'
- wx.CallAfter(self.OnGetAO, event)
- def OnKeyboardEvent(self, event):
- event.Type = 'keyboard'
- wx.CallAfter(self.OnGetAO, event)
-
- def OnClose(self, event):
- del self.hm
- self.Destroy()
-
- if __name__ == '__main__':
- app = wx.PySimpleApp(0)
- frame = myFrame()
- app.SetTopWindow(frame)
- frame.Show()
- app.MainLoop()
|