AutoIt ConsoleWrite (using "builtin" Autoit Hidden window)
-
Recently Browsing 0 members
No registered users viewing this page.
-
Similar Content
-
By emendelson
After fifteen years of working in AutoIt, I'm still a beginner, so I have ConsoleWrite() lines all over my scripts to help me find my mistakes. Is it likely that these lines are slowing down my compiled scripts? If so, would it make sense to replace all the ConsoleWrite() lines with
If Not @Compiled Then ConsoleWrite("data") Or is it better simply to comment out those lines when I have things working correctly?
I'm not sure there's a clear answer to this question, but I hope someone knows a lot more about it than I do.
-
By rmckay
Hello,
I've added ConsoleWrite lines to functions I've created. The format for the ConsolWrite statements is : (@CRLF & $sPath & '(' & @ScriptLineNumber & ') : *** Func _ABC() ***: ' & @crlf ). $sPath is defined as the filepath to the file containing the function - Local $sPath = "C:\Users\Owner\Documents\AutoIt\NT8 Download Replay Data\DownloadReplayFunctions02.au3"
Local $sPath = "C:\Users\Owner\Documents\AutoIt\NT8 Download Replay Data\DownloadReplayFunctions02.au3" ConsoleWrite(@CRLF & $sPath & '(' & @ScriptLineNumber & ') : *** Func _oMenuItemHistoricalData() ***: ' & @crlf ) The result is that I can access the functions from the Scite output window when the function is located in another file which is included in the main file. For some reason Scite adds a line to the code when I switch to the Include file from the output window.
Why does the line get added to the script and can I stop if from appearing?
Thanks,
-
By Luigi
Greetings,
Is possible build a script to send/receive commands in "Native Messagin" ?
If you install this extension:
https://chrome.google.com/webstore/detail/native-messaging-example/mefhabneoickhhbiglkmehhmemefkopf/related
And this complement:
https://github.com/Mandar-Shinde/Google-Chrome-Native-Messaging/releases/download/V1.0/GoogleNativeClient.exe
You have a work example to send / receive messages from Google Chrome's plugin and NativeMessagingApp.exe.
I found the source NativeMessagingApp.exe's here:
https://github.com/Mandar-Shinde/Google-Chrome-Native-Messaging
I try build this script... But not work...
#Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Compression=4 #AutoIt3Wrapper_Outfile=C:\Users\Public\GoogleNativeClient\NativeMessagingApp2.exe #AutoIt3Wrapper_UseUpx=y #AutoIt3Wrapper_Change2CUI=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #NoTrayIcon #include-once #include <Array.au3> #include <JSMN.au3> ; https://github.com/chechelaky/AutoIt/blob/master/JSMN.au3 #include <Debug.au3> Global $msg = "@empty" Global Const $CLIENT_START = '{"text":"Client Started"}' Global Const $CLIENT_STOP = '{"text":"Client Stopped"}' Global Const $CLIENT_CLICK = '{"text":"Client Click"}' _DebugSetup("NativeMessagingApp2", True, 4, @ScriptDir & "\NativeMessagingApp2.log", True) Global $read, $json, $out = "" If IsArray($CmdLine) Then ;~ $msg = @LF & "Google Chrome Native Messaging App V1" & @LF & @LF & _ ;~ "GPLV3 software distributed under the License is distributed on an ""AS IS"" BASIS" & @LF & _ ;~ "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied." & @LF & _ ;~ "See the License for the specific language governing permissions and" & @LF & _ ;~ "limitations under the License." & @LF & @LF ;~ Local $size = UBound($CmdLine, 1) - 1 ;~ $msg &= "App running with args=" & $size & @LF ;~ For $ii = 0 To $size ;~ $msg &= $ii & " : " & $CmdLine[$ii] & @LF ;~ Next ;~ _DebugOut($msg) EndIf sendMessage($CLIENT_START) While Sleep(10) $read = ConsoleRead() If @error And $out Then _DebugOut("$read...............: " & $out) $json = Jsmn_decode($out) If @error Then _DebugOut("$json...............: @Error") Else _DebugOut("$json...............: @Ok") EndIf If IsObj($json) And $json.Exists("text") Then sendMessage('{"text":"' & $json.Item("text") & '"}') Else sendMessage('{"text":"@Error"}') EndIf $out = "" Else $out &= $read EndIf WEnd Func sendMessage($var) ConsoleWrite($var & @CRLF) _DebugOut("sendMessage===>" & $var) EndFunc ;==>Say
Edit the file:
C:\Users\Public\GoogleNativeClient\com.google.chrome.example.echo-win.json
And replace:
"path": "NativeMessagingApp.exe",
By:
"path": "NativeMessagingApp2.exe",
Then plugin call the AutoIt script...
But is not functional...
About the file mainwindow.cpp, have this function:
inline QString sendMessage(QString data){ unsigned int len = data.length(); cout.write(reinterpret_cast<const char *>(&len), 4); cout << data.toUtf8().data() << flush; return ""; } How re-write this to AutoIt?
How execute a flush?
Best regards.
-
By Danyfirex
Hello guys. It's been awhile since I shared something. So today I want to share my last project.
What's Loga?
Loga is a simple logging library to keep track of code with an integrated console.
Features.
Common log levels. Integrated console. Multiple instances. Custom color and font for each instance log level. Define output format with macros. Conditional and occasional Logging. Easy to use. Basic Usage:
#include "..\Loga.au3" ;This are some of the default settings: ;Default log level $LOGA_LEVEL_TRACE ;output format: {Symbol}{LogIndex} {LevelName} {LongDateTime} {Message} ;Log to File is enabled. ;Log file name format: YYYYMMDDHHMM-Loga-InstanceIndex.log ;Custom Console is disabled by default. ;By default log to STDOUT. _LogaTrace("I'm Trace") _LogaDebug("I'm Debug") _LogaInfo("I'm Info") _LogaWarn("I'm Warn") _LogaError("I'm Error") _LogaFatal("I'm Fatal")
More examples here.
Check Loga on GitHub.
Loga Latest Release v1.0.2.
Saludos
-
By Burgs
Greetings,
I would like to be able to write a script to send commands to the console for creation of Gstreamer pipelines. I was thinking of something similar to this:
Local $iPID = Run("C:\Windows\System32\cmd", "", @SW_MAXIMIZE) ;THIS OPENS THE CONSOLE...!!! if $iPID == 0 Then ConsoleWrite(@CRLF & "I DID NOT OPEN CMD...error: " & @error & @CRLF) if $iPID <> 0 Then ConsoleWrite(@CRLF & "I OPENED CMD...!!!" & @CRLF) $hCmd = WinGetHandle("C:\WINDOWS\system32\cmd.exe") if $hCmd <> 0 Then WinActivate($hCmd) ;ensure command console is active... $sOutput = Send("cd C:\gstreamer\1.0\x86_64\bin" & @CRLF, $SEND_RAW) $sOutput = Send("gst-launch-1.0 videotestsrc ! autovideosink" & @CRLF, $SEND_RAW) Sleep(3000) ControlSend($hCmd, "", "", "exit" & @CR) EndIf ;$hCmd NOT "0"... I don't really know if this is the best way to open the console and send commands into it. I'm also not sure about how to best catch any errors that may occur...likely this needs to be accomplished with the STDOUTREAD command however I've not had experience using it before and therefore would appreciate some advice that anybody may offer.
Basically I'm seeking guidance on how to best automate the opening of the console, sending lines of commands to be executed, and handling any potential errors in the execution of those commands...I thank you in advance. Regards.
-
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