pywinau.py 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. '''Created Jan 11, 2022 Levi'''
  2. import pywinctl as gw
  3. from pywinauto import Application
  4. # windows = Desktop(backend="uia").windows()
  5. # for window in windows:
  6. # print(f"Window Title: {window.window_text()}, Process ID: {window.process_id()}")
  7. # print([w.window_text() for w in windows])
  8. def automate_write():
  9. win_ = gw.getWindowsWithTitle('Write: ', condition=gw.Re.CONTAINS)[0]
  10. if not win_.isActive:
  11. win_.activate()
  12. app = Application(backend='uia').connect(found_index=0, title_re='Write:') # process=14484
  13. main_window = app.window(found_index=0)
  14. # main_window.print_control_identifiers()
  15. print(f'Window Title: {main_window.window_text()}')
  16. # main_window.set_focus()
  17. # main_window.print_control_identifiers()
  18. if 'Write' in main_window.window_text():
  19. combo_box_from = main_window.child_window(control_type='ComboBox', found_index=0, title='From', auto_id='msgIdentity')
  20. combo_box_from.set_focus()
  21. # combo_box_from.select(2)
  22. combo_box_from.type_keys('{DOWN}')
  23. edit_subject = main_window.child_window(control_type="Edit", found_index=0, title='Subject')
  24. edit_subject.set_focus() # Set focus on the edit field
  25. # Select all text
  26. edit_subject.type_keys('^a'
  27. 'Documente{SPACE}scadente') # Enter new text
  28. edit_body = main_window.child_window(control_type='Document', found_index=0, title='Message body')
  29. edit_body.set_focus()
  30. edit_body.type_keys('{DOWN}'
  31. '{VK_SHIFT down}'
  32. '{DOWN}'
  33. '{DOWN}'
  34. '{DOWN}'
  35. '{DOWN}'
  36. '{VK_SHIFT up}')
  37. edit_body.type_keys('regăsiți{SPACE}lista{SPACE}facturilor{SPACE}nesoldate{SPACE}emise{SPACE}de{SPACE}Mozaik{SPACE}Consulting{SPACE}pentru{SPACE}compania{SPACE}dumneavoastră.'
  38. # '{VK_SHIFT down}'
  39. '{ENTER}'
  40. # '{VK_SHIFT up}'
  41. 'Vă{SPACE}rugăm{SPACE}să{SPACE}le{SPACE}verificați{SPACE}si{SPACE}să{SPACE}le{SPACE}comparați{SPACE}cu{SPACE}evidențele{SPACE}Dvs.'
  42. # '{VK_SHIFT down}'
  43. '{ENTER}'
  44. # '{VK_SHIFT up}'
  45. 'În{SPACE}cazul{SPACE}în{SPACE}care{SPACE}există{SPACE}diferențe{SPACE}vă{SPACE}rugăm{SPACE}să{SPACE}ne{SPACE}anunțați{SPACE}ca{SPACE}să{SPACE}putem{SPACE}remedia{SPACE}eventualele{SPACE}neconcordanțe.'
  46. '{ENTER}'
  47. 'Vă{SPACE}mulțumim{SPACE}anticipat!'
  48. '^{VK_TAB}'
  49. '{VK_DELETE}')
  50. if __name__ == '__main__':
  51. automate_write()