<!-- m -->http://www.autohotke...opic.php?t=8606<!-- m -->
I thought I might share my own version which is actually porting to AHK of the script I've been using personally.
The main difference may be that it doesn't create the console window at all, not just hiding the console.
I'm sure you have better things to do with your time, but the topmost post could use a bit more introduction (even a single sentence), and possibly a simple usage example. When I examine a post for accessibility and presentation, I ask:
1) What is somone's first impression upon viewing this post?
2) Can someone find out the gist of the post in under 30 seconds? (This helps them decide whether to continue reading the whole thing.)
Thanks for sharing your proficiency and creativity.
Thanks for adding the link to my script in this great place.
I've added a link to this great script from the script showcase.
Now it's going to be weekend, I'll update the script, maybe adding StdIn too.
I'm sure you have better things to do with your time, but the topmost post could use a bit more introduction (even a single sentence), and possibly a simple usage example.
Thanks for pointing it out.
- Is it reliable/fail save?
- Are there any limitations on commands to be used?
- Is it fast? It looks like, since it seems to be using far less commands then CmdRet.
- How could a working directory be specified?
Has someone tested this code?
I use the latest AHK version (1.1.15+)
Please ask questions in forum on ahkscript.org. Why?
For online reference please use these Docs.
Well, I failed to see a difference if I understood it correctly.
No. I mean about equivalent to CMDRet_Stream
The StdOutput() in my script didn't wait until the console app finished either.
It also retrieved the data whenever available. Was that what you meant?
Anyway, its hard to define how this should work. For instance systeminfo command first displays status of currently scaned system item in the first line, deliting its contenst to show new status. Then it writes output normaly after everything is collected. Similar is Lame compressor which uses single line to update procentage.
When calling rar console app, CMDRet will return this string also
File name... 0% 1% 2% 3% .... 99% OK.
While rar is compressing single file it changes single line and CMDRet returns each changed char. CMDRet_Stream doesn't do that as timer is slow. I wonder is there any reliable solution with AHK to be sure you got everything program wrote... CMDRet seams to catch all, but it is non async (i.e. the user routine is not called as soon as change is there)
This isn't due to a slow timer in CMDret_Stream but due something that was overlooked. CMDret_Stream doesn't currently trigger on new output but triggers when a new line is added. This is why the information is usually retrieved after execution instead of during. However, due to an apparent lack of interest in CMDret, although it is still being developed, I have decided not to spend the time posting any updates for it. CMDret was originally provided as a function to allow people at the forum an opportunity to participate in development in hopes that the result would inspire Chris to add this functionality (possibly with similar syntax and functionality of the version(s) posted) as a built-in command/function in AutoHotkey. This does not seem to have turned out to be the case unfortunately. I will likely post one more updated version soon with a message in the first post indicating that the version posted will be the final version.
When calling rar console app, CMDRet will return this string alsoFile name... 0% 1% 2% 3% .... 99% OK.
While rar is compressing single file it changes single line and CMDRet returns each changed char. CMDRet_Stream doesn't do that as timer is slow.
Sean, It looks like your version is coming along nicely . I would have preferred if it the functionality was produced as a single function instead of several functions that rely on each other but some people tend to prefer things broken apart in small pieces. It's all good .
One of the main reasons for CMDret creating a hidden console window was for compatibility for a few specific applications and for creating workarounds for 16 bit applications (unreleased versions). This difference can be made in either version by modifying one line of code though.