Jump to content

#AutoIt3Wrapper_Change2CUI and Run() and $STDOUT_CHILD

Go to solution Solved by BrewManNH,

Recommended Posts

It has come to my attention while deep into a project that I am unable to control the STDOUT of my program because of the current options in Autoit for my current use case.  Can anyone please verify that I am understanding the limitation correctly, and if so I'll submit a feature request. 

I am using these options and functions:

1. #AutoIt3Wrapper_Change2CUI 

2. Run() 

3. ConsoleWrite() 

The problems are these: 

When using a CUI application, the only way to "get" the STDOUT of a separate program which you call with Run() is to use the Run() option $STDIO_INHERIT_PARENT. However, by choosing this option you accept all data back from the STDOUT, it automatically prints the entire output to console, and you cannot get it into a variable either (it just prints directly to the console as STDOUT). 

Alternatively, you can use $RUN_CREATE_NEW_CONSOLE to prevent the child application from printing it's output to the console, however, you cannot use StdoutRead() on your child process if you use this option, so you cannot get data back that way. 

In my command line script (CUI), I need to call a child process, get the STDOUT from the child process as a string variable, manipulate it, and the use ConsoleWrite() to send a specific output back to the STDOUT. Am I correct that this is currently impossible using the STDIO mechanisms (within CUI complied executables)? 

Thanks in advance. 

Link to comment
Share on other sites

  • Solution

Do you have an example of what it is you're attempting to do? Your description is very hard to follow in regards to what you want to do and what isn't happening. Please post a reproducer script that demonstrates the procedure you're attempting.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to comment
Share on other sites

Hours of trial and error last night, could not get $STDOUT_CHILD to work. 

This morning, start trying to create a simple example to demonstrate for this post, and it works. 

Thanks for asking for an example, I do find a good number of solutions when trying to create an example to ask my question lol. 

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...