PoojaKrishna Posted August 21, 2018 Share Posted August 21, 2018 Hi friends, I'm attaching three scripts here. Test.exe -> Calls CTRLDOWN.exe and CTRLUP.exe #RequireAdmin run("CTRLDOWN.exe") sleep(500) run("CTRLUP.exe") CTRLDOWN.exe -> Sends a {CtrlDOWN} to press CTRL key #RequireAdmin Send('{CTRLDOWN}') CTRLUP.exe -> Sends a {CtrlUP} to release CTRL key #RequireAdmin Send('{CTRLUP}') Test.exe calls two exes to press and release the CTRL keys. Key press is working fine but the release does not work. If I call the CTRLDOWN.exe and CTRLUP.exe, manually one by another or the commands in a single program, it is working fine. Can any one explain what is wrong when I call them from a program? Thank you so much for being helpful always :-) CTRLDOWN.au3 CTRLUP.au3 test.au3 Link to comment Share on other sites More sharing options...
FrancescoDiMuro Posted August 21, 2018 Share Posted August 21, 2018 @PoojaKrishna Why don't you use them together, instead of creating three scripts which could be converted in one? Click here to see my signature: Spoiler ALWAYS GOOD TO READ: Forum Rules Forum Etiquette Link to comment Share on other sites More sharing options...
PoojaKrishna Posted August 21, 2018 Author Share Posted August 21, 2018 My program is a command based one and the parent process writes the commands into the STDIN stream of the child process. On the previous version, the child was closed after executing all the commands but due to some changes in the new version, the child process is closed after executing each command. I can convert the program into a single one but still was curious to know, what made it not working. Thank you for your reply @FrancescoDiMuro Link to comment Share on other sites More sharing options...
careca Posted August 21, 2018 Share Posted August 21, 2018 1 hour ago, PoojaKrishna said: ...in the new version, the child process is closed after executing each command. Hmmm i've used some console scripts and the child window never closed after a command. As for the program not working, maybe it's related to the sticky keys, try to make the key up send 2 or 3 times the key up and see if it helps. Spoiler Renamer - Rename files and folders, remove portions of text from the filename etc. GPO Tool - Export/Import Group policy settings. MirrorDir - Synchronize/Backup/Mirror Folders BeatsPlayer - Music player. Params Tool - Right click an exe to see it's parameters or execute them. String Trigger - Triggers pasting text or applications or internet links on specific strings. Inconspicuous - Hide files in plain sight, not fully encrypted. Regedit Control - Registry browsing history, quickly jump into any saved key. Time4Shutdown - Write the time for shutdown in minutes. Power Profiles Tool - Set a profile as active, delete, duplicate, export and import. Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes. NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s. IUIAutomation - Topic with framework and examples Au3Record.exe Link to comment Share on other sites More sharing options...
Deye Posted August 21, 2018 Share Posted August 21, 2018 Hi PoojaKrishna , You know already that in order to disable the effect the pressing of ctrl is needed when coming from another user so it only makes sense to have the same happening inside the CTRLUP.au3 script where you must CTRLDOWN again before sending CTRLUP when coming from another thread a single thread cant just CTRLUP if it doesn't recall a CTRLDOWN the script is considered a user by its own , so, if you cant fake a CTRLUP with your keyboard it wont make much sense to try it with a script .. Deye PoojaKrishna 1 Link to comment Share on other sites More sharing options...
PoojaKrishna Posted August 21, 2018 Author Share Posted August 21, 2018 4 hours ago, careca said: Hmmm i've used some console scripts and the child window never closed after a command. As for the program not working, maybe it's related to the sticky keys, try to make the key up send 2 or 3 times the key up and see if it helps. Thank you for your reply but it does not help. 3 hours ago, Deye said: Hi PoojaKrishna , You know already that in order to disable the effect the pressing of ctrl is needed when coming from another user so it only makes sense to have the same happening inside the CTRLUP.au3 script where you must CTRLDOWN again before sending CTRLUP when coming from another thread a single thread cant just CTRLUP if it doesn't recall a CTRLDOWN the script is considered a user by its own , so, if you cant fake a CTRLUP with your keyboard it wont make much sense to try it with a script .. Deye @Deye, Yes, it makes sense. Thank you for explaining. Link to comment Share on other sites More sharing options...
caramen Posted August 21, 2018 Share Posted August 21, 2018 @Deye is true ... look : Test.exe -> Calls CTRLDOWN.exe and CTRLUP.exe #RequireAdmin run("CTRLDOWN.exe") sleep(500) run("CTRLUP.exe") CTRLDOWN.exe -> Sends a {CtrlDOWN} to press CTRL key #RequireAdmin Send('{CTRLDOWN}') CTRLUP.exe -> Sends a {CtrlUP} to release CTRL key #RequireAdmin Send('{CTRLDOWN}') Send('{CTRLUP}') That should work PoojaKrishna 1 My video tutorials : ( In construction ) || My Discord : https://discord.gg/S9AnwHw How to Ask Help || UIAutomation From Junkew || WebDriver From Danp2 || And Water's UDFs in the Quote Spoiler Water's UDFs:Active Directory (NEW 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsPowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & SupportExcel - Example Scripts - WikiWord - Wiki Tutorials:ADO - Wiki Link to comment Share on other sites More sharing options...
PoojaKrishna Posted August 22, 2018 Author Share Posted August 22, 2018 11 hours ago, caramen said: @Deye is true ... look : Test.exe -> Calls CTRLDOWN.exe and CTRLUP.exe #RequireAdmin run("CTRLDOWN.exe") sleep(500) run("CTRLUP.exe") CTRLDOWN.exe -> Sends a {CtrlDOWN} to press CTRL key #RequireAdmin Send('{CTRLDOWN}') CTRLUP.exe -> Sends a {CtrlUP} to release CTRL key #RequireAdmin Send('{CTRLDOWN}') Send('{CTRLUP}') That should work Wow!!! It worked as expected. Thank you so much for your help. Yes, even @Deye explained the reason, I couldn't work out the solution. Link to comment Share on other sites More sharing options...
caramen Posted August 22, 2018 Share Posted August 22, 2018 To explain with an other way; When a script is starting. If you dont send a CTRLDOWN Autoit will consider there is no reason to CTRLUP. Easy . PoojaKrishna 1 My video tutorials : ( In construction ) || My Discord : https://discord.gg/S9AnwHw How to Ask Help || UIAutomation From Junkew || WebDriver From Danp2 || And Water's UDFs in the Quote Spoiler Water's UDFs:Active Directory (NEW 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsPowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & SupportExcel - Example Scripts - WikiWord - Wiki Tutorials:ADO - Wiki Link to comment Share on other sites More sharing options...
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