jpm Posted October 8, 2013 Share Posted October 8, 2013 As A3x is a "compiled" stuff, I hope Jon can agree that something must be done to respect the X86/X64 compilation to execute with the right Autoit3 EXE. using #requireAdmin respect the Respawing in Admin mode, so X64 can do the same Cheers JP Link to comment Share on other sites More sharing options...
trancexx Posted October 8, 2013 Share Posted October 8, 2013 As A3x is a "compiled" stuff, I hope Jon can agree that something must be done to respect the X86/X64 compilation to execute with the right Autoit3 EXE.using #requireAdmin respect the Respawing in Admin mode, so X64 can do the same CheersJPThat would be wrong. Even comparing the two is wrong. You as developer should see things more clearly than other people....This thread having second page is also wrong. But whatever. MHz 1 ♡♡♡ . eMyvnE Link to comment Share on other sites More sharing options...
jpm Posted October 8, 2013 Share Posted October 8, 2013 at least we can internaly something as #AutoItX64 and use th same mechanism as for #RequireAdmin if needed. a X32 process can start a x64 process and viceversa Link to comment Share on other sites More sharing options...
MHz Posted October 8, 2013 Share Posted October 8, 2013 A restart system is a horrible system. It creates disconnection. Try running a process from Run which does a restart and you lose control. Try running a process from a command prompt which does a restart and you lose control as well as the valuable StdOut/StdErr output. Any situation where you want to hold on the the process will lose control as to the restart. It will only seem seamless in operation when you double click on a file! Promoting this idea is IMO a bad idea that is going to encourage the use of it. #RequireAdmin is an exception as it restarts with elevation. The suitable idea is to let the system handle the initial process to run. This is decided by the registry. This is where the change, if suitable, should be reviewed. As far as I am concerned, anyone who believes a A3X file is an EXE file is living in the twilight zone. Link to comment Share on other sites More sharing options...
JFX Posted October 8, 2013 Share Posted October 8, 2013 Stdout doesn't matters cause you can not get stdout from a3x. @storme You properly the only one ever requesting this and you only doing it because you resign to you AV software. Take one of the solutions, but don't expects something like this will be added. Link to comment Share on other sites More sharing options...
MHz Posted October 8, 2013 Share Posted October 8, 2013 Stdout doesn't matters cause you can not get stdout from a3x. You can get stdout from an a3x file! Link to comment Share on other sites More sharing options...
wraithdu Posted October 8, 2013 Share Posted October 8, 2013 You can get stdout from an a3x file! Mmmm... no, you get stdout from the executable interpreting the a3x file. That is in fact an important distinction. Link to comment Share on other sites More sharing options...
MHz Posted October 8, 2013 Share Posted October 8, 2013 Mmmm... no, you get stdout from the executable interpreting the a3x file. That is in fact an important distinction. Is it still the running of an a3x file and still causes a disconnection that I previously mentioned. You can run a a3x file in a command prompt just like you can run a msi in a command prompt. The program running the file is determined by association. Link to comment Share on other sites More sharing options...
wraithdu Posted October 8, 2013 Share Posted October 8, 2013 I get that... but explain to me how someone receiving an a3x file from a developer is going to run it in such a way as to capture stdout? Standard ConsoleWrite() doesn't work even running from command prompt, you'd need to compile it as a console app. My point, stdout handle is a non-issue. Link to comment Share on other sites More sharing options...
MHz Posted October 8, 2013 Share Posted October 8, 2013 1. You can use a compiled script as a console interpreter with an a3x file to get stdout. 2. You can redirect the stdout to a file. 3. You can pipe the stdout to more and see it in a command prompt 4. Someone else is not the only users of a3x files. 5. You can get stdout using Run. 6. An application developed since 2006 based on a3x and use of stdout. If someone added an a3x file to run from it and it was not the correct bitness then it would restart and lose stdout or probably not run as the alternative interpreter just is not there. So much for fixing a problem. 7. Logon and Logoff scripts as a3x files may not get the chance to finish as to a restart before the system decides to shutdown. I could keep adding to this with problems that can occur because of restarting a3x files. These are some of the issues that can occur. Link to comment Share on other sites More sharing options...
wraithdu Posted October 8, 2013 Share Posted October 8, 2013 (edited) Explain to me please, step by step, how you get stdout from this a3x:#AutoIt3Wrapper_OutFile_Type=a3x ConsoleWrite("hello world" & @CRLF)For me, nothing works, not command prompt, not '| more', and not '>out.txt'. I'm launching it from a command prompt as so:>test.a3x >test.a3x | more >test.a3x >out.txtAt this point, I don't care about the OP, this is actually curious to me. Edited October 8, 2013 by wraithdu Link to comment Share on other sites More sharing options...
guinness Posted October 8, 2013 Share Posted October 8, 2013 I agree with wraithdu that it's not possible. I always use WM_COPYDATA to communicate with the parent application. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
JFX Posted October 8, 2013 Share Posted October 8, 2013 1. You can use a compiled script as a console interpreter with an a3x file to get stdout. Sure, but that not what we talking about. You use an executable to get the stdout. The topic is about running a3x direct without any executable. Link to comment Share on other sites More sharing options...
MHz Posted October 9, 2013 Share Posted October 9, 2013 My head is spinning at the moment. I made a reference of how there are numerous ways of using a a3x file. Of how a restart method based on a directive is not a good idea. And now it is about what? Double click of an a3x file which the shell handles by association in the registry? Running an a3x file on a command line and getting it to work? Or now, using WM_COPYDATA for some reason that I do not know? This has become rather confusing and seems to have lost focus. I am sorry if I contributed to this confusion. I am going to take a timeout from this to clear my head. 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