Nice guide, well done!
I'll add / emphasize two things already hinted at, for clarity...
Getting info in Rainmeter via RunCommand will only work once the executed program quits, so if the program is running some kind of lengthy loop you won't be able to get the info retrieved by that program after each step of the loop while the loop is running (you'll have to wait till the program exits to get something and even then you'll probably get only the result of the last step of the loop). Think some logger of data, unless you write the log contents to a file and periodically parse it with WebParser, you won't be able to get each log line from the program in realtime by using RunCommand.
A nice way to send info / commands from Rainmeter and getting similar stuff back into Rainmeter is through the usage of AutoIt / AutoHotKey plain or compiled scripts, with the added benefit that this can in fact be done in loops, both in the skin and the said script, for a near realtime interaction and "data / command chat" between the skin and the script. For example, you could run the script executable from the skin with "self returning" parameters via a RunCommand, e.g. Program="Script.exe" and Parameter=""#Action#" "#Separator#" "#Interval#"", where you could have Action=[!SetVariable SkinVariable ""$ScriptVariable"" ""#CURRENTCONFIG#""], Separator="#CRLF#" and Interval=1000. Then, in each step of the script loop, you could store data separated by $CmdLine[2] (aka the 2nd script parameter) in an $OutputVariable, send it to the skin via SendBang(StringReplace($CmdLine[1], "$ScriptVariable", $OutputVariable)) to replace stuff in the bang used as the 1st script parameter, and use Sleep($CmdLine[3]) to wait an interval equal to its 3rd parameter before the next step in the loop. Sending bangs to a skin is possible by using a code similar to the AutoIt code from the Bangs subsection of this section from the docs.
![Thumbs Up :thumbup:](http://forum.rainmeter.net/images/smilies/ay.gif)
I'll add / emphasize two things already hinted at, for clarity...
Getting info in Rainmeter via RunCommand will only work once the executed program quits, so if the program is running some kind of lengthy loop you won't be able to get the info retrieved by that program after each step of the loop while the loop is running (you'll have to wait till the program exits to get something and even then you'll probably get only the result of the last step of the loop). Think some logger of data, unless you write the log contents to a file and periodically parse it with WebParser, you won't be able to get each log line from the program in realtime by using RunCommand.
A nice way to send info / commands from Rainmeter and getting similar stuff back into Rainmeter is through the usage of AutoIt / AutoHotKey plain or compiled scripts, with the added benefit that this can in fact be done in loops, both in the skin and the said script, for a near realtime interaction and "data / command chat" between the skin and the script. For example, you could run the script executable from the skin with "self returning" parameters via a RunCommand, e.g. Program="Script.exe" and Parameter=""#Action#" "#Separator#" "#Interval#"", where you could have Action=[!SetVariable SkinVariable ""$ScriptVariable"" ""#CURRENTCONFIG#""], Separator="#CRLF#" and Interval=1000. Then, in each step of the script loop, you could store data separated by $CmdLine[2] (aka the 2nd script parameter) in an $OutputVariable, send it to the skin via SendBang(StringReplace($CmdLine[1], "$ScriptVariable", $OutputVariable)) to replace stuff in the bang used as the 1st script parameter, and use Sleep($CmdLine[3]) to wait an interval equal to its 3rd parameter before the next step in the loop. Sending bangs to a skin is possible by using a code similar to the AutoIt code from the Bangs subsection of this section from the docs.
Statistics: Posted by Yincognito — Today, 12:12 am