Desktop GUI Automation using Python | Automate your Desktop Applications | Automate Your Daily task

Sdílet
Vložit
  • čas přidán 4. 07. 2024
  • This video describes about automating desktop application
    other Desktop GUI automation links,
    Automation for Multiple Windows- • Desktop GUI Automation...

Komentáře • 155

  • @tsrinivas2406
    @tsrinivas2406 Před 3 lety +6

    Awesome. This is exactly what I was looking for. Thank you so much for sharing this my friend.

  • @diponsamaddar480
    @diponsamaddar480 Před 3 lety +7

    Rafique, clearly explains every concept and shows that he has good knowledge on the subject. Keep making such helpful videos. May be another video about working with different controls with Pywinauto would be very helpful.Thanks again.

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      @ Dipon Samaddar,
      Thanks a lot for your comment. Your words meant a lot to me and it really enourages me to do what i am doing now.

  • @ravirai4412
    @ravirai4412 Před 3 lety +2

    Thank you for this video . It helped me immensely and solved my automation problem.

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi Ravi,
      Thanks for your valuable feedback.
      This increases my confidence.
      Regards,
      Rafique

  • @jalalahmed3654
    @jalalahmed3654 Před 9 měsíci

    Nice sharing sir..

  • @fatinnabilla3651
    @fatinnabilla3651 Před rokem

    Hi Rafique, can we automate the gui application in an inactive remote server? Or it needs an active session?

  • @akash2392
    @akash2392 Před 2 lety +1

    Hi Rafique,
    First of all, nice tutorial. Thanks for that.
    I tried the ways shown in the video to automate appium-desktop windows application but not able to do. When I print app.windows(), it is showing an empty array.
    Can u help me in this ?

  • @younessid437
    @younessid437 Před 5 měsíci

    I wanna thank you so much for this ammazing explaination

  • @listeve3493
    @listeve3493 Před rokem

    Very useful, thank you very much🤩

  • @swatiporwal69
    @swatiporwal69 Před 2 lety

    Thanks for the video sir it was very helpful for me.

  • @shankerm3959
    @shankerm3959 Před 3 lety +2

    I have a feeling this is going to be very useful to me. Thanks

  • @ArmenianWingChun
    @ArmenianWingChun Před 3 lety

    Thanks for video. Is there similar module for Mac OS?

  • @bernardantony8457
    @bernardantony8457 Před 2 lety

    Thank you for the Video, I have a question can we do this to launch desktop applications thank you?

  • @skysaan7018
    @skysaan7018 Před 3 lety

    Bhai jaan, good job! Thanks for sharing.👍

  • @Anilpatel-ww3xu
    @Anilpatel-ww3xu Před 2 lety

    Excellent Video

  • @naveenkunapalli
    @naveenkunapalli Před 2 lety

    Hello Rafique, this video was informative but could you please help me with different use case where I want the list of files which are active in a windows explorer...active files means the files which we select using ctrl+ right click

  • @automationneemo
    @automationneemo Před 2 lety

    Hi
    from where you are getting whether it is list box or combobox?

  • @rafiquejaved1223
    @rafiquejaved1223  Před 2 lety

    Pywinauto is developed for automating Windows GUI application, But yes you can use pywinauto mouse and keyboard controls for automating Linux applications.

  • @rajeevsharma4400
    @rajeevsharma4400 Před 3 lety +1

    Thank you so much Boss👍

  • @pushpavismaya6482
    @pushpavismaya6482 Před 3 lety +1

    Thank you so much rafique I learnt lot from you

  • @raviraj_pawar
    @raviraj_pawar Před 3 lety +2

    This is really helpful 👍 but can you explain why did you used handle for browse last. Detail description or explanation of functions could help us to understand code .

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi
      I will try to explain from my next videos.
      Regards,
      Rafique

  • @shaiksohailanwar8137
    @shaiksohailanwar8137 Před 2 lety

    Hello rafique, explanation was too good can you please the command we use to exit the application automatically like for example to exit the fileZilla server automatically in this video scenario

  • @prasadpsp
    @prasadpsp Před 2 lety

    Thanks, Rafique for this video. I have a question, can we work on other stuff while such automation is in progress?

    • @rafiquejaved1223
      @rafiquejaved1223  Před 2 lety

      No, u can't perform other tasks whenever GUI automation is running

  • @serta5727
    @serta5727 Před 3 lety +1

    Pretty awesome pywinauto demo :)

  • @ikaran7
    @ikaran7 Před 3 lety

    This was helpful

  • @Hrajesh21
    @Hrajesh21 Před 4 lety

    Good one Rafique ....

  • @nemborodrick2359
    @nemborodrick2359 Před rokem

    i love your video

  • @ravitejapasupuleti2643
    @ravitejapasupuleti2643 Před 2 lety +1

    Error returned by CreateProcess: (2, 'CreateProcess', 'The system cannot find the file specified.')
    PS C:\Users
    pasupuleti4> need help with this

  • @dharmagurram958
    @dharmagurram958 Před 3 lety

    Excellent work bro your video helped me a lot in starting my project.
    Bro will this library work in linux ? If not suggest any alternatives of this library in linux .
    Thanks in advance

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      It will work in linux but only keyboarrd and mouse functionalities will work.
      I havee lots of videos created with pywinauto.you can go through those.
      Regards,
      Rafique

  • @ankitpatel-bg3xi
    @ankitpatel-bg3xi Před 2 lety

    Hi Rafique, thank you for the video. What is the the command to scroll up and scroll down a particular window?

    • @rafiquejaved1223
      @rafiquejaved1223  Před 2 lety

      Hi,
      You can use pywinauto mouse for doing this.
      Get the center coordinates of the window of the application,
      pywinauto.mouse.scroll(coords=(0, 0), wheel_dist=1) # for scroll up , wheel_dist=1, for scroll down, its in negative, you can increase or decrease the wheel_dist based on your requirement. and coords should be center coords of the window.
      Thanks

  • @user-iv7bz5rs2l
    @user-iv7bz5rs2l Před rokem +1

    can you help me? Error returned by CreateProcess: (87, 'CreateProcess', 'The parameter is incorrect.')

  • @JohnnyBikerOfficial
    @JohnnyBikerOfficial Před 2 lety

    Will this be applicable on jnlp files also?

  • @ammadkhan4687
    @ammadkhan4687 Před rokem

    are the commands same for every Application?

  • @dezinhtang
    @dezinhtang Před 2 lety

    It is helpful and I scribe your channel!

  • @masthanvali2861
    @masthanvali2861 Před 3 lety

    Its really very good video. Thank you.
    I have a question. I have Windows GUI where I want to read data what is available in textfields and all items in combobox or dropdown box. May I know how this can be achieved using PyWinAuto?.

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi Masthan,
      Thanks for writing to me. Will get you backby tomorrow.
      Regards,
      Rafique

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Also please do share me your mail id or send me an email to my id rafiquejaved2@gmail.com, so that i can send you an example with explanation

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi Masthanvali,
      I have created on a video on your requirement.
      Below is the link of the same,
      czcams.com/video/Y8ZO3I55lTc/video.html
      Please let me know if any issues.
      Thanks,
      Rafique

    • @masthanvali2861
      @masthanvali2861 Před 3 lety

      @@rafiquejaved1223 Any Update

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi,
      I have created a video on the same,,
      czcams.com/video/Y8ZO3I55lTc/video.html
      Hope this satisfies your requirement.
      Please do let me know about it.
      Regards,
      RAFIQUE

  • @techystack479
    @techystack479 Před 3 lety +4

    Hi Bro!
    Some times application takes more time to load. So those cases how can we handle?
    Example:- I am having one application it will take more time to load as normal at that time static time will won't helps me so i need to create dynamic time based on some other element came how can we do?
    Thanks in advance

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety +1

      Hi,
      Sorry for the delayed response.
      You can try the below after your start application
      app.windowtitle.wait('enabled', timeout=10)
      It will wait till 10 sec and then throw exception.
      You can increase the timeout to 20-25s.
      Regards,
      Rafique

    • @omkarjadhav6183
      @omkarjadhav6183 Před 2 lety

      you can also use time.sleep(here time in seconds)

  • @Rajuthunder
    @Rajuthunder Před 3 lety

    Brother this video really awesome I am just beginner for python but easy to understand, I have one click once winform do you have any video to automate .Net based winform application like handle multiple window, combobox, menus

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi,
      I dont have any specific video to autmate winform. Butbit will b mre or less same only.

    • @Rajuthunder
      @Rajuthunder Před 3 lety

      @@rafiquejaved1223 Thanks for reply, can guide me to get current window title and do while until is loaded

  • @user-iv7bz5rs2l
    @user-iv7bz5rs2l Před rokem

    I run the script but it says the software must run with administrator. Do you have any way?

  • @nellaimuthuvels7099
    @nellaimuthuvels7099 Před 2 lety

    i am following the same steps to pass data to username, but its not going. its says the winodw name is not found..Can you please help bro

  • @senthilsiriangam
    @senthilsiriangam Před 3 lety

    Hi Thank you sooo much for the video. It's really very helpful for us also
    could you please create a video on how to automate the putty box please

  • @tahabfd5387
    @tahabfd5387 Před rokem

    This is brilliant. Can this also be used to navigate through web browser pages, i.e. facebook on google chrome?

    • @rafiquejaved1223
      @rafiquejaved1223  Před rokem

      Hi Taha, For web page automation, please use selenum for Web ui automation(czcams.com/play/PLnbSLn-JZGFBbY2dLTQuaI6pSApHwzBXL.html). Regards

  • @vivikanse6005
    @vivikanse6005 Před rokem

    Can do this automation with putty, then connect and sent some command

  • @ashishashk4503
    @ashishashk4503 Před 3 lety

    Here field name is itsself identifiers.
    No need to inspect by inspect tool?

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi Ashish,
      It varies from app to app.
      Its better to use Inspect tool or print_control_identifiers() to fetch the class name/control name of each object
      Regards,
      RAFIQUE

  • @goelprak
    @goelprak Před 2 lety

    thanks for sharing the video..Can you please help when i try launching an setup.exe i am getting this error (requested operation requires elevation ) how to resolve this

    • @rafiquejaved1223
      @rafiquejaved1223  Před 2 lety

      Hi,
      You can try the below,
      import admin
      if not admin.isUserAdmin():
      admin.runAsAdmin()
      or create a batch file and put the python script path in it and run the batch file as administrator.

  • @harikag398
    @harikag398 Před 3 lety

    Hi This is very helps to me. In this video you are going with title of window. But in my application there is title less windows. such situation how we can enter the value inside that window.

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      U can use the process id to find the running application

    • @harikag398
      @harikag398 Před 3 lety

      @@rafiquejaved1223 still i am getting error. I need your assistance to my project. If you can please help me.

    • @kingking4755
      @kingking4755 Před 2 lety

      Did you figure it out? How do you find our processing id?

  • @masthanvali2861
    @masthanvali2861 Před 3 lety

    How to open windows application in admin mode (by entering admin username and pwd ) using pywinauto?.

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi Masthan,
      The UAC confirmation dialog cannot be automated.
      However you can disable the UAC in settings.
      Regards,
      Rafique

  • @kingking4755
    @kingking4755 Před 2 lety

    What do you do if the window open has a " - name -" would you write it as app.-name-.???

    • @rafiquejaved1223
      @rafiquejaved1223  Před 2 lety

      Hi,
      You can use the PID to connect to an open window.
      import psutil
      process_name = "EXCEL" # your application process name from Task manager
      pid = None
      for proc in psutil.process_iter():
      if process_name in proc.name():
      pid = proc.pid
      print(pid)

  • @NapaBlueSpirit
    @NapaBlueSpirit Před 3 lety

    it I guess your syntax of apps.Users and apps.users didn't produce any errors. It s not case sensitive ?

  • @indianyoutubernaz5564

    I am watching

  • @maheshpanchajanya2803
    @maheshpanchajanya2803 Před 2 lety

    How can we open .Mdb file and automate

  • @brundhasholaganga3854
    @brundhasholaganga3854 Před 3 lety

    Btw how to click on close option in windows, i mean how to close application is it app.exit()

  • @harshavardanakella1560

    How can we automate a similar application on Linux lets say on Ubuntu ?

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi Harsh,
      Pywinauto is developed for automating Windows GUI application, But yes you can use pywinauto mouse and keyboard controls for automating Linux applications. But i have never tried doing this.
      Thanks,
      Rafique

  • @dushyantbhagwani
    @dushyantbhagwani Před rokem

    Hey Rafique,
    I am getting an error while importing pywinuato.
    Import win32ui
    Import error : dll load failed while importing win32ui : a dynamic link library (DLL) initialization routine failed

    • @dushyantbhagwani
      @dushyantbhagwani Před rokem

      I was able to fix it by upgrading the pywin32 to version 300

  • @durgaganesh423
    @durgaganesh423 Před 3 lety

    Hi any possible to get installed driver version details?
    And OS version? Etc

    • @rafiquejaved1223
      @rafiquejaved1223  Před 2 lety

      Hi,
      You can use nmap to get the OS name via python.
      first get the list of active IPs in the network via nmap network scanning and then get the hostnames os OS details for those active IPs.
      Thanks

  • @Wakishaki
    @Wakishaki Před 3 lety

    Can you please show how we can access a comboBox using PywinAuto?

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi,
      Video is already available.
      Try the below link
      czcams.com/video/Y8ZO3I55lTc/video.html

  • @adinarayanakommisetti6167

    Hello can you help me for automated test script fast

  • @himanshugehlot8866
    @himanshugehlot8866 Před 3 lety

    HI Rafique, i liked ur tutorial but i am not able to click ok on windows security while doing RDP. i have reached till entering password but no luck to click OK button.

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi Himanshu,
      I believe, you need to lower down the UAC security, because, pywinauto will not be able to find the windows security window.
      Regards,
      Rafique

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi Himanshu,
      Did you try this,
      app.windowtitle.Button.OK.click()
      or
      app.windowtitle.OKButton.click()
      If still not,
      Then write the below line after the password script.
      send_keys("{ENTER}")
      you need to import the below line first
      from pywinauto.keyboard import send_keys

  • @rohangoyal8113
    @rohangoyal8113 Před 3 lety

    Anything for Linux UI automation?

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi Rohan,
      As of now, i dont have anything in linux..
      Regards,
      Rafique

  • @sbsyr5555
    @sbsyr5555 Před 3 lety

    How did you get the button ids?

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety +1

      Hi Balaji,
      You can get the access name or IDs using swapy or inspect.exe tool.
      Regards,

  • @ravirai4412
    @ravirai4412 Před 3 lety

    How to pass text to window whose name starts with number?like notepad named as 102.txt

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi Ravi,
      Can you please elaborate more on what you want to achieve?
      Is it something you are looking to open notepad with filename "102.txt"?
      Regards,
      Rafique

    • @ravirai4412
      @ravirai4412 Před 3 lety

      @@rafiquejaved1223 i have emailed you , kindly have a look

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi Ravi,
      I will get back to you.
      Regards,
      Rafique

  • @shashodakalindu9131
    @shashodakalindu9131 Před 3 lety

    Sir I need to convert wireframe to GUI, how can i do that?

  • @robceballos8976
    @robceballos8976 Před 3 lety

    Hi! great tut
    Great video! Can you help me, I'm a beginner. I have the following error. Can you help me troubleshoot this?
    " ImportError: DLL load failed while importing win32ui: A dynamic link library (DLL) initialization routine failed. "
    Info: Windows 10 (64bit) py3.9, PycharmCE2020.

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi Rob,
      Did you install pypiwin32 or pywin32 library?
      If you have installed pypiwin32 then uninstall it and install pywin32.
      Let me know if this helps,
      Regards
      Rafique

    • @vinayap2792
      @vinayap2792 Před 3 lety

      @@rafiquejaved1223 . Thanks for the video. I am also using the same settings as Rob. (Windows 10 (64bit) py3.9, PycharmCE2020.) and getting the same error " ImportError: DLL load failed while importing win32ui: A dynamic link library (DLL) initialization routine failed. ". I've not installed pypiwin32. Please suggest on how to resolve this issue.
      Thanks

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi,
      I will try to recreate the issue and get back to u with solution.
      Most probably its an environment related issue.
      Also did you try running the same script using python IDE.
      Regards,
      Rafique

    • @vinayap2792
      @vinayap2792 Před 3 lety

      @@rafiquejaved1223 Thank you.

    • @vinayap2792
      @vinayap2792 Před 3 lety

      I tried running the same script using python IDE pycharm but the same response.

  • @apocalypticbean
    @apocalypticbean Před 3 lety

    Why do you write it like:
    u' "something" '
    Could you change it to r"something" instead?
    If not then why not?

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety +2

      Hi,
      If you want to store string in unicode type you can put u in front of the text like u'text' or you can do this by calling unicode('text')
      You can ignore "u". It is used in python 2.x
      Why we use r?
      You cannot store one backslash by using r, it's the only exception. So this code will produce error: r'\'
      To store a backslash (only one) you need to use '\\'
      If you want to store more than 1 characters you can still use r like r'\\' will produce 2 backslashes as you expected.
      Hope you are clear about u and r..
      Regards,
      Rafique

    • @apocalypticbean
      @apocalypticbean Před 3 lety +2

      @@rafiquejaved1223 thank you for the detailed response. Makes sense to me

  • @kangcreator186
    @kangcreator186 Před 3 lety +1

    plz make a video to automate chrome using pywinauto

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety +1

      Hi,
      I will not suggest to automate WebUi application using Pywinauto.
      You can use Pywinauto but mostly you will be required to use Mose and keyboard controls for automation.
      Rather you can use python robot framework for doing the same.
      I have videos on this.
      You can have a look.
      Still i will make a video on Chrome using pywinauto and will publish it.
      Regards,
      Rafique

    • @kangcreator186
      @kangcreator186 Před 3 lety +1

      @@rafiquejaved1223 Thanks for the fast reply, I will watch that ("python robot framework") video, By the way Nice Video :)

    • @kangcreator186
      @kangcreator186 Před 3 lety +1

      @@rafiquejaved1223 I have checked that ("python robot framework") but, there might a confusion. I am not looking for a website or webpages automation on chrome. I am looking for chrome automation like opening/closing new tabs, changing some chrome settings In that way I want to control the chrome browser, not the webpage/website opened in chrome.
      I have no interest in the automation of webpages.

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Ok got your points.
      Then that should be doable using pywinauto.
      My next video will be on this...
      Thanks

    • @rafiquejaved1223
      @rafiquejaved1223  Před 3 lety

      Hi,
      Please have a look into the video created for chrome GUI automation,
      czcams.com/video/6G60NYyUhNE/video.html

  • @rajeshargade3720
    @rajeshargade3720 Před 2 měsíci

    If screen title is having space in name then how to write

  • @nemborodrick2359
    @nemborodrick2359 Před rokem

    and you dial it automatically

  • @indianyoutubernaz5564
    @indianyoutubernaz5564 Před rokem +1

    Aman

  • @W-meme
    @W-meme Před 2 lety

    Could not find in dict_keys error.

    • @rafiquejaved1223
      @rafiquejaved1223  Před 2 lety

      May be u r trying to connect to a window or any element which is not available.

    • @W-meme
      @W-meme Před 2 lety

      @@rafiquejaved1223 so automation is not possible?

  • @nemborodrick2359
    @nemborodrick2359 Před rokem

    using pyton

  • @kcvinu
    @kcvinu Před rokem +1

    I can't handle when someone uses "=" sign without a space on both side. Terrible.

  • @ashishashk4503
    @ashishashk4503 Před 4 lety

    How to log in through the text box

    • @rafiquejaved1223
      @rafiquejaved1223  Před 4 lety +1

      Hi, I have written a small code for the same,
      if you looking for standalone login window and type the credentials in the text box then the below command should work for you
      # find the open window with the titlename
      w_handle=pywinauto.findwindows.find_windows(title=u'yourwindowtitlename')[0] # if your title is big you can best_match instead of title
      window=app.window(handle=w_handle)
      window.wait('ready',timeout=3)
      #using inspect tool you can find the object name for the entrybox
      window[u'username:Edit'].type_keys("Your username")
      window[u'Password:Edit'].type_keys("Your password")
      window.Ok.click()
      # Hope this works, if not, please mail me at rafiquejaved2@gmail.com with your requirement.
      # There is one more video available, that may help you with automating Desktop applications,
      czcams.com/video/ekqxkUExvlc/video.html.

    • @ashishashk4503
      @ashishashk4503 Před 4 lety +1

      @@rafiquejaved1223 Respected Sir,
      Please let me know,if I have made exe file from .py file through Pyinstaller then this exe file can be automated or not?
      What I have noticed sir,If we install the software on windows then this works Only

    • @rafiquejaved1223
      @rafiquejaved1223  Před 4 lety +1

      Hi Ashish,
      Yes this exe file can very well automate your task even is Windows which don't have python interpreter installed.
      If you need to go through py.exe conversion you can refer the below video.
      czcams.com/video/qihNyu7hoO0/video.html
      Also if you don't want any console to be opened during execution of exe file, you can use the below command, which i haven't mentioned in the video,
      pyinstaller --onefile --noconsole your.pyfile.py
      Regards

    • @ashishashk4503
      @ashishashk4503 Před 4 lety

      @@rafiquejaved1223 Dear Sir,Suppose I have created an exe file from .py file and I kept it on desktop.
      And also in this .exe file there are three three things ..first name,last name with the text boxes and one command button with ok label.
      Now I have to automate it.
      I mean pls help me to write full python command at first to execute that desktop python exe file and after that they will type user first name and last name in two different text boxes and then do click on ok.
      Regards

    • @rafiquejaved1223
      @rafiquejaved1223  Před 4 lety +1

      Hi Ashish,
      Sure i will help you out.
      I just want to know that the first name and last name is a static one or dynamic variable.
      Regards

  • @TarunKumar-ve9wm
    @TarunKumar-ve9wm Před 17 dny

    app =Application().start(cmd_line=u'"C:\NebulaFNORMS\8110\FactotumRMS6Leg_dpr_03Nov23__OBF.exe" ') showing an error

  • @rushirajgohil874
    @rushirajgohil874 Před rokem

    Hi Rafique, getting following error, can you please help out.
    error Traceback (most recent call last)
    File ~\Anaconda3\lib\site-packages\pywinauto\application.py:1038, in Application.start(self, cmd_line, timeout, retry_interval, create_new_console, wait_for_idle, work_dir)
    1037 try:
    -> 1038 (h_process, _, dw_process_id, _) = win32process.CreateProcess(
    1039 None, # module name
    1040 command_line, # command line
    1041 None, # Process handle not inheritable.
    1042 None, # Thread handle not inheritable.
    1043 0, # Set handle inheritance to FALSE.
    1044 dw_creation_flags, # Creation flags.
    1045 None, # Use parent's environment block.
    1046 work_dir, # If None - use parent's starting directory.
    1047 start_info) # STARTUPINFO structure.
    1048 except Exception as exc:
    1049 # if it failed for some reason
    error: (2, 'CreateProcess', 'The system cannot find the file specified.')
    During handling of the above exception, another exception occurred:
    AppStartError Traceback (most recent call last)
    Input In [20], in ()
    ----> 1 app = Application().start(cmd_line = u'"C:\Program Files\Microsoft Office
    oot\Office16\WINPROJ.EXE"')
    File ~\Anaconda3\lib\site-packages\pywinauto\application.py:1052, in Application.start(self, cmd_line, timeout, retry_interval, create_new_console, wait_for_idle, work_dir)
    1048 except Exception as exc:
    1049 # if it failed for some reason
    1050 message = ('Could not create the process "%s"
    '
    1051 'Error returned by CreateProcess: %s') % (cmd_line, str(exc))
    -> 1052 raise AppStartError(message)
    1054 self.process = dw_process_id
    1056 if self.backend.name == 'win32':
    oot\Office16\WINPROJ.EXE""Could not create the process ""C:\Program Files\Microsoft Office
    Error returned by CreateProcess: (2, 'CreateProcess', 'The system cannot find the file specified.')