Jump to content

Recommended Posts

Posted
Global $FuncList[]=[MsgBox,Abs,ACos,AdlibRegister,AdlibUnRegister,Asc,AscW,ASin,Assign,ATan,AutoItSetOption,AutoItWinGetTitle,AutoItWinSetTitle,Beep,Binary,BinaryLen,BinaryMid,BinaryToString,BitAND,BitNOT,BitOR,BitRotate,BitShift,BitXOR,BlockInput,Break,Call,CDTray,Ceiling,Chr,ChrW]
Global $FuncList1[]=[ClipGet,ClipPut,ConsoleRead,ConsoleWrite,ConsoleWriteError,ControlClick,ControlCommand,ControlDisable,ControlEnable,ControlFocus,ControlGetFocus,ControlGetHandle,ControlGetPos,ControlGetText,ControlHide,ControlListView,ControlMove,ControlSend,ControlSetText]
Global $FuncList2[]=[ControlShow,ControlTreeView,Cos,Dec,DirCopy,DirCreate,DirGetSize,DirMove,DirRemove,DllCall,DllCallAddress,DllCallbackFree,DllCallbackGetPtr,DllCallbackRegister,DllClose,DllOpen,DllStructCreate,DllStructGetData,DllStructGetPtr,DllStructGetSize,DllStructSetData]
Global $FuncList3[]=[DriveGetDrive,DriveGetFileSystem,DriveGetLabel,DriveGetSerial,DriveGetType,DriveMapAdd,DriveMapDel,DriveMapGet,DriveSetLabel,DriveSpaceFree,DriveSpaceTotal,DriveStatus,EnvGet,EnvSet,EnvUpdate,Eval,Execute,Exp,FileChangeDir,FileClose,FileCopy,FileCreateNTFSLink]
Global $FuncList4[]=[FileCreateShortcut,FileDelete,FileExists,FileFindFirstFile,FileFindNextFile,FileFlush,FileGetAttrib,FileGetEncoding,FileGetLongName,FileGetPos,FileGetShortcut,FileGetShortName,FileGetSize,FileGetTime,FileGetVersion,FileInstall,FileMove,FileOpen,FileOpenDialog]

$FuncList[0](0, "hello", "Why can't convert to an executable?")

it can be run.but it can not convert to an exe?

QQ截图20180706001257.jpg

Posted

All of this stems from an example in a help documentation.

#include <MsgBoxConstants.au3>

Local $vFunc = MsgBox

$vFunc($MB_OK, "Hi there!", "Lovely day today.")

 

Below It is working and can be compiled successfully.

Local $vFunc = [MsgBox,InputBox]

$vFunc[0](0, "Hi there!", "Lovely day today.") 

$vFunc[1]("Security Check", "Enter your password.", "", "*")

 

I tried to put a variable whose type is a function into an array. It is working and can be compiled successfully. But when I put in a certain number of such variables, the compiler gives an error. It's weird.

Posted
1 hour ago, tubaba said:
Global $FuncList[]=[MsgBox,Abs,ACos,AdlibRegister,AdlibUnRegister,Asc,AscW,ASin,Assign,ATan,AutoItSetOption,AutoItWinGetTitle,AutoItWinSetTitle,Beep,Binary,BinaryLen,BinaryMid,BinaryToString,BitAND,BitNOT,BitOR,BitRotate,BitShift,BitXOR,BlockInput,Break,Call,CDTray,Ceiling,Chr,ChrW]
Global $FuncList1[]=[ClipGet,ClipPut,ConsoleRead,ConsoleWrite,ConsoleWriteError,ControlClick,ControlCommand,ControlDisable,ControlEnable,ControlFocus,ControlGetFocus,ControlGetHandle,ControlGetPos,ControlGetText,ControlHide,ControlListView,ControlMove,ControlSend,ControlSetText]
Global $FuncList2[]=[ControlShow,ControlTreeView,Cos,Dec,DirCopy,DirCreate,DirGetSize,DirMove,DirRemove,DllCall,DllCallAddress,DllCallbackFree,DllCallbackGetPtr,DllCallbackRegister,DllClose,DllOpen,DllStructCreate,DllStructGetData,DllStructGetPtr,DllStructGetSize,DllStructSetData]
Global $FuncList3[]=[DriveGetDrive,DriveGetFileSystem,DriveGetLabel,DriveGetSerial,DriveGetType,DriveMapAdd,DriveMapDel,DriveMapGet,DriveSetLabel,DriveSpaceFree,DriveSpaceTotal,DriveStatus,EnvGet,EnvSet,EnvUpdate,Eval,Execute,Exp,FileChangeDir,FileClose,FileCopy,FileCreateNTFSLink]
Global $FuncList4[]=[FileCreateShortcut,FileDelete,FileExists,FileFindFirstFile,FileFindNextFile,FileFlush,FileGetAttrib,FileGetEncoding,FileGetLongName,FileGetPos,FileGetShortcut,FileGetShortName,FileGetSize,FileGetTime,FileGetVersion,FileInstall,FileMove,FileOpen,FileOpenDialog]

$FuncList[0](0, "hello", "Why can't convert to an executable?")

it can be run.but it can not convert to an exe?

QQ截图20180706001257.jpg

 

51 minutes ago, Bert said:

ummm - remove fileinstall from Global $FuncList4[] and try again. 

So is the error caused by fileinstall?Thank you very much.I'll try it tomorrow. It's too late today.

Posted
46 minutes ago, Jos said:

Shouldn't all those array entries be between quotes or double quotes to be literal strings?

Jos

I think, i need to be between quotes to figure this out. :huh:

 

  • Developers
Posted
30 minutes ago, tubaba said:

Below It is working and can be compiled successfully.

Local $vFunc = [MsgBox,InputBox]

$vFunc[0](0, "Hi there!", "Lovely day today.") 

$vFunc[1]("Security Check", "Enter your password.", "", "*")

 

But that doesn't make it proper syntax. ;)

What is the intent of these lines exactly?

Global $FuncList[]=[MsgBox,Abs,ACos,AdlibRegister,AdlibUnRegister,Asc,AscW,ASin,Assign,ATan,AutoItSetOption,AutoItWinGetTitle,AutoItWinSetTitle,Beep,Binary,BinaryLen,BinaryMid,BinaryToString,BitAND,BitNOT,BitOR,BitRotate,BitShift,BitXOR,BlockInput,Break,Call,CDTray,Ceiling,Chr,ChrW]

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Posted
2 hours ago, Jos said:

Shouldn't all those array entries be between quotes or double quotes to be literal strings?

And FileInstall seems to be the only func that throw's error, because there's no file to be included. Wondering why the other func's which also needs parameters aren't throwing error. 

 

 

Posted

@Jos I believe tubaba is trying to place all the functions from help file into an array and then use the array rather than the actual function names, counter intuitive imho for example, the example tubaba wrote above, which doesn't appear to be related to the OP arrays:

#include <Array.au3>
Global $FuncList[]=[MsgBox,Abs]
$FuncList[0](0, "Hi there!", "Lovely day today.") 
;~ Equals
MsgBox(0, "Hi there!", "Lovely day today.")

To be honest I was surprised that you could write the function names into the array without errors

The only way I could see it working is if you enclosed the functions in quotes and then used Execute e.g.

#include <Array.au3>
Global $FuncList[]=["MsgBox","Abs"]
Execute($FuncList[0] & '(0, "Hi there!", "Lovely day today")')

 

  • Developers
Posted
1 hour ago, AutoBert said:

And FileInstall seems to be the only func that throw's error, because there's no file to be included. Wondering why the other func's which also needs parameters aren't throwing error. 

That is easy as that is the only function that is properly interpreted at aut2exe time as the file needs to be put in the PE header. :)
All other syntax is not really check by aut2exe, hence the birth of au3check way back when.

Jos 

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Posted
4 hours ago, Subz said:

...place all the functions...into an array and then use the array rather than the actual function names, counter intuitive imho...

I sympathize with this as well.  I'm not seeing the OPs grand vision for why he wants to do this?

@tubaba
Care to enlighten me/us as to why you are coding it this way?  I could understand (maybe) doing some shorthand for perhaps, specific "long" functions (i.e.)

#include <WinAPISys.au3>
Global Const $WOW64=_WinAPI_GetSystemWow64Directory
ConsoleWrite($WOW64() & @CRLF)

,but I don't see the value in an arbitrary array of functions that the coder (or coder reviewer) would need to lookup the index for each function or use some list/codex.

Also, are you really planning on using all of those functions?

Posted
6 hours ago, Jos said:

If "Local $vFunc = MsgBox" syntax correct . Why "Local $vFunc = [MsgBox,InputBox]" is not correct?

I want each element of the array holds a function-type variable.

how do I put a function-type variable into an array?
 

Posted
29 minutes ago, spudw2k said:

I sympathize with this as well.  I'm not seeing the OPs grand vision for why he wants to do this?

@tubaba
Care to enlighten me/us as to why you are coding it this way?  I could understand (maybe) doing some shorthand for perhaps, specific "long" functions (i.e.)

#include <WinAPISys.au3>
Global Const $WOW64=_WinAPI_GetSystemWow64Directory
ConsoleWrite($WOW64() & @CRLF)

,but I don't see the value in an arbitrary array of functions that the coder (or coder reviewer) would need to lookup the index for each function or use some list/codex.

Also, are you really planning on using all of those functions?

Yes.I really do.;)

 

Posted

ok... have fun.

42 minutes ago, tubaba said:

If "Local $vFunc = MsgBox" syntax correct . Why "Local $vFunc = [MsgBox,InputBox]" is not correct?

Local $vFunc = [MsgBox,InputBox] is correct syntax.

Posted (edited)
10 hours ago, Subz said:

@Jos I believe tubaba is trying to place all the functions from help file into an array and then use the array rather than the actual function names, counter intuitive imho for example, the example tubaba wrote above, which doesn't appear to be related to the OP arrays:

#include <Array.au3>
Global $FuncList[]=[MsgBox,Abs]
$FuncList[0](0, "Hi there!", "Lovely day today.") 
;~ Equals
MsgBox(0, "Hi there!", "Lovely day today.")

To be honest I was surprised that you could write the function names into the array without errors

The only way I could see it working is if you enclosed the functions in quotes and then used Execute e.g.

#include <Array.au3>
Global $FuncList[]=["MsgBox","Abs"]
Execute($FuncList[0] & '(0, "Hi there!", "Lovely day today")')

 

As you guessed ... I just don't know if there's a second way to put a function call into an array.

In some cases, execute differs from the direct call function..

It's a stupid way to put function names one by one in an array, but I can't find a second one.

 

Numbers have "number" functions, and pointers have "PTR" functions. Strings have "string" functions, handles have "HWND" functions, and various types have conversion functions. But there is no string->func function ...

Edited by tubaba
Posted
2 hours ago, tubaba said:

I just don't know if there's a second way to put a function call into an array.

Just use quotes, here a example:

#include <GUIConstantsEx.au3>
#include <Array.au3>

Opt('MustDeclareVars', 1)
Global $aBtnIds[10][2]
$aBtnIds[0][1] = "0001"
$aBtnIds[1][1] = "0010"
$aBtnIds[2][1] = "0011"
$aBtnIds[3][1] = "0100"
$aBtnIds[4][1] = "0101"
$aBtnIds[5][1] = "0111"
$aBtnIds[6][1] = "1000"
$aBtnIds[7][1] = "1001"
$aBtnIds[8][1] = "1010"
$aBtnIds[9][1] = "_Farben"

Global $hGui = GUICreate('Buttontest', 105, 145)
Global $msg

For $i = 0 To 8
    $aBtnIds[$i][0] = GUICtrlCreateButton($i + 1, 10 + Mod($i, 3) * 30, 10 + Int($i / 3) * 30, 25, 25)
    ;$aBtnIds[$i][0] enthält jetzt die ID
    ConsoleWrite($i + 1 & ': ' & $aBtnIds[$i][0] & @CRLF)
    GUICtrlSetBkColor(-1, 0x990000)
    $aBtnIds[$i][1] = False
Next
$aBtnIds[9][0] = GUICtrlCreateButton('OK', 10, 110, 90, 25)
ConsoleWrite('OK: ' & $aBtnIds[$i][0] & @CRLF)
GUISetState()

While 1
    $msg = GUIGetMsg()
    Switch $msg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $aBtnIds[0][0] To $aBtnIds[8][0]
            _Click($msg - $aBtnIds[0][0], True)
        Case $aBtnIds[9][0]
            _Click($msg - $aBtnIds[0][0])
            Call($aBtnIds[9][1])    ;ruft die hinterlegte Func auf
    EndSwitch
WEnd

Func _Click($iBtn, $bColorToggle = False)
    If $bColorToggle Then
        If $aBtnIds[$iBtn][1] Then
            GUICtrlSetBkColor($aBtnIds[$iBtn][0], 0x990000)
        Else
            GUICtrlSetBkColor($aBtnIds[$iBtn][0], 0x059122)
        EndIf
        $aBtnIds[$iBtn][1] = Not $aBtnIds[$iBtn][1]
    EndIf
    MsgBox(0, 'Buttonclick', 'Button with ID ' & $aBtnIds[$iBtn][0] & ' was clicked.' & @CRLF & 'The text of the button is: ' & ControlGetText('Buttontest', '', $aBtnIds[$iBtn][0]) & @CRLF, 5, $hGui)
    ConsoleWrite(GUICtrlRead($aBtnIds[$iBtn][0])&@CRLF)
EndFunc   ;==>_Click

Func _Farben()
    Local $sText = '',$aBtns
    For $i = 0 To 8
        $sText &= $aBtnIds[$i][1]
        If $i < 8 Then $sText &= '|'
    Next
    $sText = StringReplace($sText, 'True', 'Grün')
    $sText = StringReplace($sText, 'False', 'Rot')
    ConsoleWrite($sText & @CRLF)
    $aBtns = StringSplit($sText, '|')
    $aBtns[0] = UBound($aBtns)-1
    _ArrayDisplay($aBtns, 'Farben', '', 32)
EndFunc   ;==>_Farben

the func _farben is the only one to demostrate it.

Posted
4 hours ago, tubaba said:

In some cases, execute differs from the direct call function..

Which cases?

4 hours ago, tubaba said:

Numbers have "number" functions, and pointers have "PTR" functions. Strings have "string" functions, handles have "HWND" functions, and various types have conversion functions. But there is no string->func function ...

You can either put a function datatype in array (or flat variables) and invoke it like you did, but FileInstall is special as it needs to be intercepted by the build toolchain as Jos explained above.

You can also put a function name (as a string datatype) in a variable and use Call() to invoke it, which is currently the only way to indirectly invoke FileInstall. But doing so will not actually result in FileInstall being intercepted by the toolchain, causing failure to insert the required file in the build.

The string->func conversion you dream of doesn't exist but Call("TheFunction", <arguments>) is your friend, despite being heavy. Execute is even more ugly.

That said, I wonder what's the real-world use of such global practice.

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

Posted

thanks alot:),yes.I am try to make an Obfuscator for autoit3.;),This is a challenge for me.I just want to find a way to protect au3 code as the author wishes.Actually, I've made some achievements.

here is the Source

Local $vFunc = [MsgBox,InputBox]

$vFunc[0](0, "Hi there!", "Lovely day today.") 

$vFunc[1]("Security Check", "Enter your password.", "", "*")

The following are the results of the processing

Global $B46LLG5CC0DL = BinaryToString("0x3134372C35342C3132342C34362C3239392C3136382C3132302C35332C3239312C37332C3234362C3132322C3231372C3237312C3332322C3332312C3137372C3131352C3232342C3133382C3338352C31352C3238332C3332352C3134352C38392C3131382C3237392C38332C3236312C3333342C3235392C3336372C34312C35362C3338352C3233342C3137342C3233362C3230392C33312C3338362C39392C3336362C3231372C3339352C38372C3138322C3135392C3334302C3235342C3337372C3233352C32352C3136302C3137312C35362C3230392C37392C3134302C3138352C3133302C3234322C3333302C3135322C3330332C38342C3130322C3138342C3238372C32382C3139342C3234342C3230322C3138332C3132352C34392C3238382C3234312C3138382C3238302C3230312C33342C34392C3234312C3337352C3332342C3337312C3338382C36392C32342C3339312C3232302C3138302C3337362C3234392C3239312C3132342C3130342C31322C3335322C3334392C3337342C3134382C3239332C34362C3331342C3339342C3235352C3137332C3235332C3135332C3134332C3235322C3232372C37362C3132392C3334342C3237362C3132332C342C39342C3333352C3334312C3333382C3338362C3132362C32332C3135302C3239362C3133332C3138372C3135392C362C3137382C3139322C38352C3334372C3130362C3137372C3131352C3338302C38362C32302C3237322C3135302C32382C3237342C3133312C3235342C3238392C39322C35312C34362C3331362C302C34372C3334372C39352C34342C3232362C39362C3236302C3139342C3230312C32332C3332312C34342C3333372C3331392C3138322C3137382C3331332C3239302C33382C3233382C3139392C3339342C36382C3333342C3234362C3135362C3239332C3332342C3331392C3339312C3332332C3331352C34382C3332352C3332382C3338332C35322C3136342C32352C3135362C3130302C34302C3331362C3238312C3234382C38392C3232362C32392C3235322C352C3333372C3133372C3236332C3131332C3134332C3333332C35372C33342C3337362C3131352C36382C3232302C3233332C37302C38382C3232332C33372C39332C38312C3237332C3336392C3239362C3335392C3332322C3337352C3239312C3233382C3337302C3133342C38382C39392C3137332C3235312C3130362C3133312C3233312C3232392C302C3233362C3333382C38352C3230392C33312C3337372C3131362C3131332C3336342C37372C3230342C3338392C3336382C342C3336372C3135382C3131392C3232352C3236322C31372C3239312C33312C3238352C39352C3238332C39392C34352C3232352C3231302C3139322C3134342C3237352C3234332C3132352C3339322C312C3235362C3332362C3139382C3334372C3235362C3231352C36372C3133372C32332C3339332C3339302C392C36342C31312C35332C342C31312C31372C3230322C3333372C38362C392C32322C3334392C34342C3231302C3131342C352C35352C3333392C38362C3231392C3337352C3138382C39362C3234342C3239352C3136322C36342C3332312C3131312C3133392C3238312C3133312C33392C3234352C3335372C38322C3232382C3136352C3133312C3335332C3136372C3336382C32312C3130372C32342C32362C3138352C3134302C3231352C3134342C3331322C33312C3335372C3132312C3233352C3134312C3334382C3139352C3135392C31392C3134382C31302C3231332C3332392C38372C3135352C3236322C35342C3232392C36352C3333312C3136302C3233382C38382C3331352C3130352C3335332C3132332C33322C38302C32392C3131392C3230322C3335332C3130312C3234302C3332372C3236372C33362C31342C39332C342C3131302C3330352C3138362C3232362C3134372C3337372C3236322C3334322C3137362C3234302C3337392C31332C3231342C3934",4)
Global $H2IC09IK11914[] = [Abs, ACos, AdlibRegister, AdlibUnRegister, Asc, AscW, ASin, Assign, ATan, AutoItSetOption, AutoItWinGetTitle, AutoItWinSetTitle, Beep, Binary, BinaryLen, BinaryMid, BinaryToString, BitAND, BitNOT, BitOR, BitRotate, BitShift, BitXOR, BlockInput, Break, Call, CDTray, Ceiling, Chr, ChrW, ClipGet, ClipPut, ConsoleRead, ConsoleWrite, ConsoleWriteError, ControlClick, ControlCommand, ControlDisable, ControlEnable, ControlFocus, ControlGetFocus, ControlGetHandle, ControlGetPos, ControlGetText, ControlHide, ControlListView, ControlMove, ControlSend, ControlSetText, ControlShow, ControlTreeView, Cos, Dec, DirCopy, DirCreate, DirGetSize, DirMove, DirRemove, DllCall, DllCallAddress, DllCallbackFree, DllCallbackGetPtr, DllCallbackRegister, DllClose, DllOpen, DllStructCreate, DllStructGetData, DllStructGetPtr, DllStructGetSize, DllStructSetData, DriveGetDrive, DriveGetFileSystem, DriveGetLabel, DriveGetSerial, DriveGetType, DriveMapAdd, DriveMapDel, DriveMapGet, DriveSetLabel, DriveSpaceFree, DriveSpaceTotal, DriveStatus, EnvGet, EnvSet, EnvUpdate, Eval, Execute, Exp, FileChangeDir, FileClose, FileCopy, FileCreateNTFSLink, FileCreateShortcut, FileDelete, FileExists, FileFindFirstFile, FileFindNextFile, FileFlush, FileGetAttrib, FileGetEncoding]
Global $FZ3SEGMM8T[] = [FileGetLongName, FileGetPos, FileGetShortcut, FileGetShortName, FileGetSize, FileGetTime, FileGetVersion, FileMove, FileOpen, FileOpenDialog, FileRead, FileReadLine, FileReadToArray, FileRecycle, FileRecycleEmpty, FileSaveDialog, FileSelectFolder, FileSetAttrib, FileSetEnd, FileSetPos, FileSetTime, FileWrite, FileWriteLine, Floor, FtpSetProxy, FuncName, GUICreate, GUICtrlCreateAvi, GUICtrlCreateButton, GUICtrlCreateCheckbox, GUICtrlCreateCombo, GUICtrlCreateContextMenu, GUICtrlCreateDate, GUICtrlCreateDummy, GUICtrlCreateEdit, GUICtrlCreateGraphic, GUICtrlCreateGroup, GUICtrlCreateIcon, GUICtrlCreateInput, GUICtrlCreateLabel, GUICtrlCreateList, GUICtrlCreateListView, GUICtrlCreateListViewItem, GUICtrlCreateMenu, GUICtrlCreateMenuItem, GUICtrlCreateMonthCal, GUICtrlCreateObj, GUICtrlCreatePic, GUICtrlCreateProgress, GUICtrlCreateRadio, GUICtrlCreateSlider, GUICtrlCreateTab, GUICtrlCreateTabItem, GUICtrlCreateTreeView, GUICtrlCreateTreeViewItem, GUICtrlCreateUpdown, GUICtrlDelete, GUICtrlGetHandle, GUICtrlGetState, GUICtrlRead, GUICtrlRecvMsg, GUICtrlRegisterListViewSort, GUICtrlSendMsg, GUICtrlSendToDummy, GUICtrlSetBkColor, GUICtrlSetColor, GUICtrlSetCursor, GUICtrlSetData, GUICtrlSetDefBkColor, GUICtrlSetDefColor, GUICtrlSetFont, GUICtrlSetGraphic, GUICtrlSetImage, GUICtrlSetLimit, GUICtrlSetOnEvent, GUICtrlSetPos, GUICtrlSetResizing, GUICtrlSetState, GUICtrlSetStyle, GUICtrlSetTip, GUIDelete, GUIGetCursorInfo, GUIGetMsg, GUIGetStyle, GUIRegisterMsg, GUISetAccelerators, GUISetBkColor, GUISetCoord, GUISetCursor, GUISetFont, GUISetHelp, GUISetIcon, GUISetOnEvent, GUISetState, GUISetStyle, GUIStartGroup, GUISwitch, Hex, HotKeySet]
Global $XZ2YX1364D3[] = [HttpSetProxy, HttpSetUserAgent, HWnd, InetClose, InetGet, InetGetInfo, InetGetSize, InetRead, IniDelete, IniRead, IniReadSection, IniReadSectionNames, IniRenameSection, IniWrite, IniWriteSection, InputBox, Int, IsAdmin, IsArray, IsBinary, IsBool, IsDeclared, IsDllStruct, IsFloat, IsFunc, IsHWnd, IsInt, IsKeyword, IsNumber, IsObj, IsPtr, IsString, Log, MemGetStats, Mod, MouseClick, MouseClickDrag, MouseDown, MouseGetCursor, MouseGetPos, MouseMove, MouseUp, MouseWheel, MsgBox, Number, ObjCreate, ObjCreateInterface, ObjEvent, ObjGet, ObjName, OnAutoItExitRegister, OnAutoItExitUnRegister, Ping, PixelChecksum, PixelGetColor, PixelSearch, ProcessClose, ProcessExists, ProcessGetStats, ProcessList, ProcessSetPriority, ProcessWait, ProcessWaitClose, ProgressOff, ProgressOn, ProgressSet, Ptr, Random, RegDelete, RegEnumKey, RegEnumVal, RegRead, RegWrite, Round, Run, RunAs, RunAsWait, RunWait, Send, SendKeepActive, SetError, SetExtended, ShellExecute, ShellExecuteWait, Shutdown, Sin, Sleep, SoundPlay, SoundSetWaveVolume, SplashImageOn, SplashOff, SplashTextOn, Sqrt, SRandom, StatusbarGetText, StderrRead, StdinWrite, StdioClose, StdoutRead, String]
Global $Z916V845W13GO[] = [StringAddCR, StringCompare, StringFormat, StringFromASCIIArray, StringInStr, StringIsAlNum, StringIsAlpha, StringIsASCII, StringIsDigit, StringIsFloat, StringIsInt, StringIsLower, StringIsSpace, StringIsUpper, StringIsXDigit, StringLeft, StringLen, StringLower, StringMid, StringRegExp, StringRegExpReplace, StringReplace, StringReverse, StringRight, StringSplit, StringStripCR, StringStripWS, StringToASCIIArray, StringToBinary, StringTrimLeft, StringTrimRight, StringUpper, Tan, TCPAccept, TCPCloseSocket, TCPConnect, TCPListen, TCPNameToIP, TCPRecv, TCPSend, TCPShutdown, UDPShutdown, TCPStartup, UDPStartup, TimerDiff, TimerInit, ToolTip, TrayCreateItem, TrayCreateMenu, TrayGetMsg, TrayItemDelete, TrayItemGetHandle, TrayItemGetState, TrayItemGetText, TrayItemSetOnEvent, TrayItemSetState, TrayItemSetText, TraySetClick, TraySetIcon, TraySetOnEvent, TraySetPauseIcon, TraySetState, TraySetToolTip, TrayTip, UBound, UDPBind, UDPCloseSocket, UDPOpen, UDPRecv, UDPSend, VarGetType, WinActivate, WinActive, WinClose, WinExists, WinFlash, WinGetCaretPos, WinGetClassList, WinGetClientSize, WinGetHandle, WinGetPos, WinGetProcess, WinGetState, WinGetText, WinGetTitle, WinKill, WinList, WinMenuSelectItem, WinMinimizeAll, WinMinimizeAllUndo, WinMove, WinSetOnTop, WinSetState, WinSetTitle, WinSetTrans, WinWait, WinWaitActive, WinWaitClose, WinWaitNotActive]
HA4Z0T17OJT7($H2IC09IK11914, $FZ3SEGMM8T)
HA4Z0T17OJT7($H2IC09IK11914, $XZ2YX1364D3)
HA4Z0T17OJT7($H2IC09IK11914, $Z916V845W13GO)
Global $HY0ER77KNW2 = Execute(BinaryToString("0x443241434342534238362824483249433039494B313139313429",4))
Global Const $E0X786G15KLW5=$HY0ER77KNW2[0x0000003E],$AO8H148ENLQ9=$HY0ER77KNW2[0x00000065],$ZN5VD5C7Y8=$HY0ER77KNW2[0x000000B7],$SIA1DQP3ZX=$HY0ER77KNW2[0x00000141],$HTO2JPB0I9PQ1=$HY0ER77KNW2[0x00000030],$X8684C3VX807=$HY0ER77KNW2[0x0000001B],$N16YI20II5S=$HY0ER77KNW2[0x000000F2],$ELIEB12W7W3Z=$HY0ER77KNW2[0x000000C3],$U3WYR8BXLU=$HY0ER77KNW2[0x00000089],$L8UA287ZNLE60=$HY0ER77KNW2[0x000000E1],$V782X9AI379=$HY0ER77KNW2[0x00000033],$C57136275GD=$HY0ER77KNW2[0x000000CA],$Y5QD4SB6ME2G=$HY0ER77KNW2[0x000000E7],$I0RMUJ20K7=$HY0ER77KNW2[0x0000008A],$Q7CY09T1XIO4B=$HY0ER77KNW2[0x000000BE],$Y7T2FRW0EP=$HY0ER77KNW2[0x0000016D],$SR9359EL48NI0=$HY0ER77KNW2[0x000000A2],$P49L62V1AB=$HY0ER77KNW2[0x00000176]
Global $LNF9UZ90NN4W = "24D0FAEB6AF149060BD5AD7F18910D6FEF4AF48633F0682860074AAF230ADE67A7655DC92B130000000000000006C6C03DF6B80EF8869920B1366D1223779E346E7BCCB3C8C1AE6AE8055D55143DC7075F3CFBF9AF"
Global Const $U8ZZEJP57DXX2=T7Q349PPFD43(),$EGY8Z63G051=JQOP031G3VO0($U8ZZEJP57DXX2[0x00000000]),$M56U8DMK87ZK2=JQOP031G3VO0($U8ZZEJP57DXX2[0x00000001]),$U50N2F58K137=JQOP031G3VO0($U8ZZEJP57DXX2[0x00000002])
Global $X869C1K132 = "AB6D9D843330BB4CE78A748C57EA29B370A37DC1F6ED6B16762EB68D0766AFF9F62CC8D2D6AC5697E39AC8FA67D17D82031720862FDA0648E9716FCC03580A7EBC5A2DA31DEA208AB58120BEE1DDB1E9ECFD5CD94084A34B38C3A4888CA6C12672711DB4F0C7A551FD8E2F33107298AA82FB05BBFDCF3B8922843CB9A41EB7B81D30719DAEC316B87F20A0066D1F38F435366343E6BAB6ABACB594C490141259CC2B94B54D76A544465943E01500000000000001091AC278ABC26F7410C63801A8189865D0FD66DBE04C73FD79A7B7600017C73A02A66D9A6BD0FB65DDE72B1D837EA3C3627066C73801A1199460A79D0AAEE42F198C79A5C7617317C33A0EA71A9A6BD0FB67DAE7221C8F7AA0C2141079B63903A518E865D6FD66DEE3281A8D75A5B2617317C33E07A71E9B63D5F864DAE62D1CFC7BA1C26272ABA4C93F4564620F10C37902EAD52E2CB53E9D11A465A75570A51CEC04BB8C66"
Global Const $O6091751L93A=K96QQZ88440M(),$R2SFGLK9XQ46=NQW989Q5CQ($O6091751L93A[0x00000000]),$P6R2AF0OOP=NQW989Q5CQ($O6091751L93A[0x00000001]),$B87HZR98N3UFI=NQW989Q5CQ($O6091751L93A[0x00000002]),$YSNAPDXMHB16=NQW989Q5CQ($O6091751L93A[0x00000003]),$ETU66F8O14CP1=NQW989Q5CQ($O6091751L93A[0x00000004])
Local $S47L7V98SBDE = [$E0X786G15KLW5,$AO8H148ENLQ9]
$S47L7V98SBDE[$EGY8Z63G051]($M56U8DMK87ZK2, $R2SFGLK9XQ46, $P6R2AF0OOP)
$S47L7V98SBDE[$U50N2F58K137]($B87HZR98N3UFI, $YSNAPDXMHB16, "", $ETU66F8O14CP1)
Func LB0Z52QDQF95($U4LX9Y1IDO0)
Local $IS9ZK6HAG0 = $U4LX9Y1IDO0
Local $RN2E56087B6 = $I0RMUJ20K7($IS9ZK6HAG0, 2)
$IS9ZK6HAG0 = $Q7CY09T1XIO4B($IS9ZK6HAG0, (1 + $Y7T2FRW0EP($RN2E56087B6)) * 2)
Local $C4679H1CN32A = $I0RMUJ20K7($IS9ZK6HAG0, 2)
$IS9ZK6HAG0 = $Q7CY09T1XIO4B($IS9ZK6HAG0, 2)
Local $QJ34UQZDY38E = $I0RMUJ20K7($IS9ZK6HAG0, 16)
$IS9ZK6HAG0 = $Q7CY09T1XIO4B($IS9ZK6HAG0, 16)
Local $PW3H7O20K26 = $SR9359EL48NI0($IS9ZK6HAG0, $Y7T2FRW0EP($P49L62V1AB($QJ34UQZDY38E)) + 1, $Y7T2FRW0EP($P49L62V1AB($C4679H1CN32A)) * 2)
$IS9ZK6HAG0 = $I0RMUJ20K7($IS9ZK6HAG0, $Y7T2FRW0EP($P49L62V1AB($QJ34UQZDY38E))) & $Q7CY09T1XIO4B($IS9ZK6HAG0, $Y7T2FRW0EP($P49L62V1AB($QJ34UQZDY38E)) + $Y7T2FRW0EP($P49L62V1AB($C4679H1CN32A)) * 2)
Return $Q7CY09T1XIO4B($SIA1DQP3ZX(M94623H2XO('0x' & $IS9ZK6HAG0, '0x' & $PW3H7O20K26), 4), 2)
EndFunc
Func B69944QFJK6($K1ZJAT7D63J8, $VN9C45R55R7, $TDN18G1RM16)
Local $FWU2M3RB3R = $HTO2JPB0I9PQ1($SIA1DQP3ZX("0x6B65726E656C33322E646C6C"), $SIA1DQP3ZX("0x626F6F6C"), $SIA1DQP3ZX("0x5669727475616C46726565"), $SIA1DQP3ZX("0x707472"), $K1ZJAT7D63J8, $SIA1DQP3ZX("0x756C6F6E675F707472"), $VN9C45R55R7, $SIA1DQP3ZX("0x64776F7264"), $TDN18G1RM16)
If @error Then Return $X8684C3VX807(@error, @extended, False)
Return $FWU2M3RB3R[0]
EndFunc
Func T7Q349PPFD43()
Return $ZN5VD5C7Y8($SIA1DQP3ZX("0x537472696E67526567457870284C42305A353251445146393528244C4E4639555A39304E4E3457292C2027282E2A3F29283F3A47374A5929272C203329", 4))
EndFunc
Func VHJ2JF10Y4Y99($CW8FTFE8Q28G)
Local $E5X64026P7877 = Z3W89922748(0, $N16YI20II5S($CW8FTFE8Q28G), 0x00001000, 0x00000040)
If $E5X64026P7877 = 0 Then Exit $E0X786G15KLW5(16, $SIA1DQP3ZX("0x4175746F49742042696E61727920554446204572726F72"), $SIA1DQP3ZX("0x4F7574206F66206D656D6F7279202121"))
Local $WE67V3EH59 = $ELIEB12W7W3Z($SIA1DQP3ZX("0x627974655B") & $N16YI20II5S($CW8FTFE8Q28G) & $SIA1DQP3ZX("0x5D"), $E5X64026P7877)
$U3WYR8BXLU($WE67V3EH59, 1, $CW8FTFE8Q28G)
Return $E5X64026P7877
EndFunc
Func VF734R14HGC09($JMCJ2938W73)
Local $N22M3W560A = LAUPW4M5CEVB(0, $N16YI20II5S($JMCJ2938W73), 0x00001000, 0x00000040)
If $N22M3W560A = 0 Then Exit $E0X786G15KLW5(16, $SIA1DQP3ZX("0x4175746F49742042696E61727920554446204572726F72"), $SIA1DQP3ZX("0x4F7574206F66206D656D6F7279202121"))
Local $P47217365Q = $ELIEB12W7W3Z($SIA1DQP3ZX("0x627974655B") & $N16YI20II5S($JMCJ2938W73) & $SIA1DQP3ZX("0x5D"), $N22M3W560A)
$U3WYR8BXLU($P47217365Q, 1, $JMCJ2938W73)
Return $N22M3W560A
EndFunc
Func D2ACCBSB86(ByRef $EF36LJMWHX8R0)
Local $Q9J7FYV92211J = Execute(BinaryToString("0x537472696E6753706C697428244234364C4C4735434330444C2C20436872283434292C203329",4))
For $B6SC76B2NWB = 0 To UBound($EF36LJMWHX8R0) - 1
Local $B2E35B75B4 = $EF36LJMWHX8R0[$B6SC76B2NWB]
$EF36LJMWHX8R0[$B6SC76B2NWB] = $EF36LJMWHX8R0[$Q9J7FYV92211J[$B6SC76B2NWB]]
$EF36LJMWHX8R0[$Q9J7FYV92211J[$B6SC76B2NWB]] = $B2E35B75B4
Next
Return $EF36LJMWHX8R0
EndFunc
Func JQOP031G3VO0($M7M4W7OL09)
Return $ZN5VD5C7Y8($SIA1DQP3ZX("0x4E756D6265722842696E617279546F537472696E672827307827202620244D374D3457374F4C30392C20342929", 4))
EndFunc
Func N5KL238K494($N22M3W560A)
T227N20T48($N22M3W560A, 0, 0x00008000)
EndFunc
Func Z3W89922748($K1ZJAT7D63J8, $VN9C45R55R7, $DQ8GU2WRFA9X4, $MXF4K05NI0C)
Local $FWU2M3RB3R = $HTO2JPB0I9PQ1($SIA1DQP3ZX("0x6B65726E656C33322E646C6C"), $SIA1DQP3ZX("0x707472"), $SIA1DQP3ZX("0x5669727475616C416C6C6F63"), $SIA1DQP3ZX("0x707472"), $K1ZJAT7D63J8, $SIA1DQP3ZX("0x756C6F6E675F707472"), $VN9C45R55R7, $SIA1DQP3ZX("0x64776F7264"), $DQ8GU2WRFA9X4, $SIA1DQP3ZX("0x64776F7264"), $MXF4K05NI0C)
If @error Then Return $X8684C3VX807(@error, @extended, 0)
Return $FWU2M3RB3R[0]
EndFunc
Func V9U9U974GZYD($E5X64026P7877)
B69944QFJK6($E5X64026P7877, 0, 0x00008000)
EndFunc
Func M94623H2XO($MI9728S672V1, $J98JIFT4FK920)
$MI9728S672V1 = $L8UA287ZNLE60($MI9728S672V1)
$J98JIFT4FK920 = $L8UA287ZNLE60($J98JIFT4FK920)
Local $DY381V09CIM = $N16YI20II5S($MI9728S672V1)
Local $P57IKMJS4WS26 = $ELIEB12W7W3Z($SIA1DQP3ZX("0x627974655B") & $DY381V09CIM & $SIA1DQP3ZX("0x5D"))
$U3WYR8BXLU($P57IKMJS4WS26, 1, $MI9728S672V1)
Local $NXANDXOU391TK = $N16YI20II5S($J98JIFT4FK920)
Local $SR7G60S0Q21VT = $ELIEB12W7W3Z($SIA1DQP3ZX("0x627974655B") & $NXANDXOU391TK & $SIA1DQP3ZX("0x5D"))
$U3WYR8BXLU($SR7G60S0Q21VT, 1, $J98JIFT4FK920)
If $DY381V09CIM And $NXANDXOU391TK Then
Local $JMCJ2938W73
If @AutoItX64 Then
$JMCJ2938W73 = $L8UA287ZNLE60($SIA1DQP3ZX("0x3078343938394341343836334341333144323839433846464338343146374631343836334432343138413034313034313330343430414646453245394333"))
Else
$JMCJ2938W73 = $L8UA287ZNLE60($SIA1DQP3ZX("0x30783535383945353536353738423744303838423735313038423444304333314432383943383438463737353134384130343136333034343046464645324546354635453544433231303030"))
EndIf
Local $WNGNEU22B0FB = VF734R14HGC09($JMCJ2938W73)
Local $SRH30ZAWZY6K = $V782X9AI379($SIA1DQP3ZX("0x7573657233322E646C6C"))
$HTO2JPB0I9PQ1($SRH30ZAWZY6K, $SIA1DQP3ZX("0x6E6F6E65"), $SIA1DQP3ZX("0x43616C6C57696E646F7750726F63"), $SIA1DQP3ZX("0x707472"), $WNGNEU22B0FB, $SIA1DQP3ZX("0x707472"), $C57136275GD($P57IKMJS4WS26), $SIA1DQP3ZX("0x75696E74"), $DY381V09CIM, $SIA1DQP3ZX("0x707472"), $C57136275GD($SR7G60S0Q21VT), $SIA1DQP3ZX("0x75696E74"), $NXANDXOU391TK)
N5KL238K494($WNGNEU22B0FB)
EndIf
If $DY381V09CIM = 0 Then Return $L8UA287ZNLE60("")
Return $Y5QD4SB6ME2G($P57IKMJS4WS26, 1)
EndFunc
Func HA4Z0T17OJT7(ByRef $ON10W18RIN, Const ByRef $YMPO576B5V6)
Local $R1L7NLCOJ98 = UBound($ON10W18RIN, 1)
Local $A0EXVFZWBWXX = UBound($YMPO576B5V6, 1)
ReDim $ON10W18RIN[$R1L7NLCOJ98 + $A0EXVFZWBWXX]
For $B6SC76B2NWB = 0 To $A0EXVFZWBWXX - 1
$ON10W18RIN[$R1L7NLCOJ98 + $B6SC76B2NWB] = $YMPO576B5V6[$B6SC76B2NWB]
Next
EndFunc
Func O9F36C2IO56($J7244615Y27P, $Y5FF9ZFLW5G2)
$J7244615Y27P = $L8UA287ZNLE60($J7244615Y27P)
$Y5FF9ZFLW5G2 = $L8UA287ZNLE60($Y5FF9ZFLW5G2)
Local $HS2ZXZ111X = $N16YI20II5S($J7244615Y27P)
Local $VW26IR2E0DF = $ELIEB12W7W3Z($SIA1DQP3ZX("0x627974655B") & $HS2ZXZ111X & $SIA1DQP3ZX("0x5D"))
$U3WYR8BXLU($VW26IR2E0DF, 1, $J7244615Y27P)
Local $VTBF17LSSQKZI = $N16YI20II5S($Y5FF9ZFLW5G2)
Local $K025AKMF1VXJG = $ELIEB12W7W3Z($SIA1DQP3ZX("0x627974655B") & $VTBF17LSSQKZI & $SIA1DQP3ZX("0x5D"))
$U3WYR8BXLU($K025AKMF1VXJG, 1, $Y5FF9ZFLW5G2)
If $HS2ZXZ111X And $VTBF17LSSQKZI Then
Local $CW8FTFE8Q28G
If @AutoItX64 Then
$CW8FTFE8Q28G = $L8UA287ZNLE60($SIA1DQP3ZX("0x3078343938394341343836334341333144323839433846464338343146374631343836334432343138413034313034313330343430414646453245394333"))
Else
$CW8FTFE8Q28G = $L8UA287ZNLE60($SIA1DQP3ZX("0x30783535383945353536353738423744303838423735313038423444304333314432383943383438463737353134384130343136333034343046464645324546354635453544433231303030"))
EndIf
Local $VXWS1BGVE6R2H = VHJ2JF10Y4Y99($CW8FTFE8Q28G)
Local $B41M3S7ZQQ2H = $V782X9AI379($SIA1DQP3ZX("0x7573657233322E646C6C"))
$HTO2JPB0I9PQ1($B41M3S7ZQQ2H, $SIA1DQP3ZX("0x6E6F6E65"), $SIA1DQP3ZX("0x43616C6C57696E646F7750726F63"), $SIA1DQP3ZX("0x707472"), $VXWS1BGVE6R2H, $SIA1DQP3ZX("0x707472"), $C57136275GD($VW26IR2E0DF), $SIA1DQP3ZX("0x75696E74"), $HS2ZXZ111X, $SIA1DQP3ZX("0x707472"), $C57136275GD($K025AKMF1VXJG), $SIA1DQP3ZX("0x75696E74"), $VTBF17LSSQKZI)
V9U9U974GZYD($VXWS1BGVE6R2H)
EndIf
If $HS2ZXZ111X = 0 Then Return $L8UA287ZNLE60("")
Return $Y5QD4SB6ME2G($VW26IR2E0DF, 1)
EndFunc
Func T227N20T48($MV0704OR17, $FXA9A8038EC5C, $FCZXUP49IF)
Local $NZ42BAT7FB35 = $HTO2JPB0I9PQ1($SIA1DQP3ZX("0x6B65726E656C33322E646C6C"), $SIA1DQP3ZX("0x626F6F6C"), $SIA1DQP3ZX("0x5669727475616C46726565"), $SIA1DQP3ZX("0x707472"), $MV0704OR17, $SIA1DQP3ZX("0x756C6F6E675F707472"), $FXA9A8038EC5C, $SIA1DQP3ZX("0x64776F7264"), $FCZXUP49IF)
If @error Then Return $X8684C3VX807(@error, @extended, False)
Return $NZ42BAT7FB35[0]
EndFunc
Func LAUPW4M5CEVB($MV0704OR17, $FXA9A8038EC5C, $YI9H31069M2, $H5CSSL00PUG)
Local $NZ42BAT7FB35 = $HTO2JPB0I9PQ1($SIA1DQP3ZX("0x6B65726E656C33322E646C6C"), $SIA1DQP3ZX("0x707472"), $SIA1DQP3ZX("0x5669727475616C416C6C6F63"), $SIA1DQP3ZX("0x707472"), $MV0704OR17, $SIA1DQP3ZX("0x756C6F6E675F707472"), $FXA9A8038EC5C, $SIA1DQP3ZX("0x64776F7264"), $YI9H31069M2, $SIA1DQP3ZX("0x64776F7264"), $H5CSSL00PUG)
If @error Then Return $X8684C3VX807(@error, @extended, 0)
Return $NZ42BAT7FB35[0]
EndFunc
Func K96QQZ88440M()
Return $ZN5VD5C7Y8($SIA1DQP3ZX("0x537472696E6752656745787028444A4151373635533734334728245838363943314B313332292C2027282E2A3F29283F3A5659473529272C203329", 4))
EndFunc
Func NQW989Q5CQ($F21373BQV13JO)
#forceref $F21373BQV13JO
Return $ZN5VD5C7Y8($SIA1DQP3ZX("0x42696E617279546F537472696E6728273078272026202446323133373342515631334A4F2C203429", 4))
EndFunc
Func DJAQ765S743G($S13VQIHA8P7R4)
Local $NSZ84O53PL3 = $S13VQIHA8P7R4
Local $QMR469TT2V = $I0RMUJ20K7($NSZ84O53PL3, 2)
$NSZ84O53PL3 = $Q7CY09T1XIO4B($NSZ84O53PL3, (1 + $Y7T2FRW0EP($QMR469TT2V)) * 2)
Local $C588LWK1BF98 = $I0RMUJ20K7($NSZ84O53PL3, 2)
$NSZ84O53PL3 = $Q7CY09T1XIO4B($NSZ84O53PL3, 2)
Local $EI23J9O8G0 = $I0RMUJ20K7($NSZ84O53PL3, 16)
$NSZ84O53PL3 = $Q7CY09T1XIO4B($NSZ84O53PL3, 16)
Local $D9GJ2S235CA = $SR9359EL48NI0($NSZ84O53PL3, $Y7T2FRW0EP($P49L62V1AB($EI23J9O8G0)) + 1, $Y7T2FRW0EP($P49L62V1AB($C588LWK1BF98)) * 2)
$NSZ84O53PL3 = $I0RMUJ20K7($NSZ84O53PL3, $Y7T2FRW0EP($P49L62V1AB($EI23J9O8G0))) & $Q7CY09T1XIO4B($NSZ84O53PL3, $Y7T2FRW0EP($P49L62V1AB($EI23J9O8G0)) + $Y7T2FRW0EP($P49L62V1AB($C588LWK1BF98)) * 2)
Return $Q7CY09T1XIO4B($SIA1DQP3ZX(O9F36C2IO56('0x' & $NSZ84O53PL3, '0x' & $D9GJ2S235CA), 4), 2)
EndFunc

 again, thank you for helping each of my friends.

  • Developers
Posted (edited)
12 minutes ago, tubaba said:

yes.I am try to make an Obfuscator for autoit3

Sound like a familiar project. :) 
Au3Stripper is the remains of the Obfuscator I wrote for scripts, and still does some obfuscation when the /RenameMinimum is used.
I can tell you this is not a trivial endeavor to have a proper syntax as output and make sure the speed of the program is good. My initial Tidy and Obfuscator were also written in AutoIt3, but eventually changed it to C to gain speed.

One final comment: It has to be clear that obfuscated source doesn't protect any thing in any way shape or for as you always need to translate it back to real commands since this is an interpreter.

Enjoy your scripting challence. ;)

Jos  

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

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
  • Recently Browsing   0 members

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