Jump to content

A3X on 64 bit systems ???


storme
 Share

Recommended Posts

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

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

That 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.

♡♡♡

.

eMyvnE

Link to comment
Share on other sites

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!  :wacko:  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

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

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

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

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

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.txt
At this point, I don't care about the OP, this is actually curious to me. Edited by wraithdu
Link to comment
Share on other sites

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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

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

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

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
 Share

  • Recently Browsing   0 members

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