pindol Posted March 26, 2015 Posted March 26, 2015 Hey there, I'm curious if there's a possibility to interlink two processes. Is someone kind enough to help me writing this one? run iexplore.exe run program2.exe (program2 is already designed to stay hidden in the taskbar just waiting for some keystrokes from iexplore) if iexplore.exe gets closed also terminate program2. I'd love to get some help from a pro
Moderators Melba23 Posted March 26, 2015 Moderators Posted March 26, 2015 (edited) pindol,Welcome to the AutoIt forums. Using ProcessExists in a loop would seem to be sensible solution to your problem. M23 Edited March 26, 2015 by Melba23 Fixed BB tags Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
JohnOne Posted March 26, 2015 Posted March 26, 2015 Can you explain this a little more? "program2 is already designed to stay hidden in the taskbar just waiting for some keystrokes from iexplore" AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
pindol Posted March 26, 2015 Author Posted March 26, 2015 (edited) Can you explain this a little more? "program2 is already designed to stay hidden in the taskbar just waiting for some keystrokes from iexplore" Here's the scenario. I'm trying to publish two applications in one instance on a Citrix XenApp Farm. The plan is to publish an .exe to run iexplore.exe and program2. program2 is a 3rd party application which is running in the background hidden in the tray bar). Program2 is designed to wait for a keystroke like shift+F11 to execute a function wich interacts with adobe acrobat. Actually I just need to get sure that the program2 process is also getting terminated when the iexplore.exe process is getting killed by the user. The main problem are my scripting skills, which are almost nonexistant Edited March 26, 2015 by pindol
JohnOne Posted March 26, 2015 Posted March 26, 2015 (edited) Like Melba23 said. Or this will close both apps it either is closed by user. While ProcessExists("app1.exe") And ProcessExists("App2.exe") Sleep(100) WEnd ProcessClose("App1.exe") ProcessClose("App2.exe") Edited March 26, 2015 by JohnOne AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
water Posted March 26, 2015 Posted March 26, 2015 Run returns the PID of the process that was launched. You could use this PID to make sure you close the correct process. $iPID1 = Run("iexplore.exe") $iPID2 = Run("program2.exe") While ProcessExists($iPID1) And ProcessExists($iPID2) Sleep(100) WEnd ProcessClose($iPID1) ProcessClose($iPID2) My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
pindol Posted March 26, 2015 Author Posted March 26, 2015 (edited) Like Melba23 said. Or this will close both apps it either is closed by user. While ProcessExists("app1.exe") And ProcessExists("App2.exe") Sleep(100) WEnd ProcessClose("App1.exe") ProcessClose("App2.exe") Thanks for the help! I'm almost at the finish line Unfortunately the script does not work properly when iexplore is already opened. It opens iexplore.exe but the second program won't start unless I kill the both iexplore processes and restart the script again. On the other hand it closes all iexplore instances when the second app is getting closed. Is there a way to get around this? Thanks in advance! @water: will move to your PID suggestion since I'm planing to run it on a Terminal Server Edited March 26, 2015 by pindol
pindol Posted March 26, 2015 Author Posted March 26, 2015 Got it solved. Thanks again guys! You made my day
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now