Leaderboard
Popular Content
Showing content with the highest reputation on 01/20/2023 in all areas
-
Collection of GitHub users (with AutoIt projects)
teodoric666 and 2 others reacted to SOLVE-SMART for a topic
Hi folks ๐ , I know about several of us do have AutoIt projects on GitHub. In this hopefully growing collection I want to list forum members and their GitHub projects (AutoIt based). Why? One use case could be the contribution to some of their projects. Assume that AutoIt projects are not that wide spreaded or supported in terms of contribution (participation), as JavaScript projects for example. Wouldn't it be nice to get more contribution on your project? Wouldn't it be nice to work on bigger projects in a community? I personally would love to ๐ . Disclaimer: As the GitHub profiles (and repositories), I will list here, are public and your profiles either findable by your signature, your "About Me" page or by a simple Google or GitHub search ๐ , I see no restriction to collect these kind of information and post it here. In case you don't agree with this visualisation and you don't want to be listet here, please let me know and I will remove that entry as soon as possible ๐ค . I really hope that fits your feeling about it. Collection (in progress): @Forum username ยป GitHub username ยป Link to the GitHub projects (filtered by language=autoit) @Alan72104 ยป Alan72104 ยป Projects @alexanr1 ยป alexanr1 ยป Projects @AspirinJunkie ยป Sylvan86 ยป Projects @Centrally ยป ellysh ยป Projects @Danp2 ยป Danp2 ยป Projects @Danyfirex ยป DanysysTeam ยป Projects @DonChunior ยป DonChunior ยป Projects @ergo ยป seizu ยป Projects @genius257 ยป genius257 ยป Projects @J2TeaM ยป J2TEAM ยป Projects @James ยป jbrooksuk ยป Projects @Jefrey ยป jesobreira ยป Projects @jvanegmond ยป jvanegmond ยป Projects @kurtykurtyboy ยป KurtisLiggett ยป Projects @lamnhan066 ยป lamnhan066 ยป Projects @LinkOut ยป xLinkOut ยป Projects @LoganCH ยป loganch ยป Projects @Mat ยป MattDiesel ยป Projects @Mateocedillo ยป rmcpantoja ยป Projects @matwachich ยป matwachich ยป Projects @mLipok ยป mlipok ยป Projects @MrKm ยป MurageKabui ยป Projects @NHD ยป nomi-san ยป Projects @oHenry ยป htejera ยป Projects @OvisMaximus ยป OvisMaximus ยป Projects @philpw99 ยป philpw99 ยป Projects @rcmaehl ยป rcmaehl ยป Projects @Rurorita ยป OfficialLambdax ยป Projects @rynow ยป 4ern ยป Projects @scintilla4evr ยป scidsgn ยป Projects @seadoggie01 ยป seadoggie01 ยป Projects @seangriffin ยป seanhaydongriffin ยป Projects @smbape ยป smbape ยป Projects @SOLVE-SMART ยป Sven-Seyfert ยป Projects @Stilgar ยป THWillert ยป Projects @Surya ยป thesunRider ยป Projects @tarretarretarre ยป tarreislam ยป Projects @TheDcoder ยป TheDcoder ยป Projects @TheSaint ยป Twombs ยป Projects @trancexx ยป dragana-r ยป Projects @vietanhdev ยป vietanhdev ยป Projects ฮฃ = 41 I would love to see the list growing and I am very excited about a possibly upcoming behavior and improvement change, regarding AutoIt on GitHub ๐ . ๐ก Please help me to increase the list. Either by your GitHub link (profile) or through a link from a member you know. Best regards Sven ________________ Stay innovative!3 points -
Collection of GitHub users (with AutoIt projects)
argumentum and 2 others reacted to rcmaehl for a topic
Nah, it's mostly people not knowing how to use github IMO and just trying to download the application. I should post the latest version of GitHub CI for AutoIt though. There's been some minor changes.3 points -
read and write xlsx files without Excel
funkey reacted to AspirinJunkie for a topic
This UDF provides 2 functions to read data directly from xlsx files or to output data as xlsx file. Only the cell contents are considered - no cell formatting and the like. It is therefore explicitly not a full replacement for the Excel UDF, since its scope goes well beyond that. But to quickly read in data or to work with xlsx files without having Excel installed, the UDF can be quite useful. There may also be specially formatted xlsx files which I have not yet encountered during testing and which may cause problems. In this case it is best to make a message about it here and upload the file. Note: xlsx files must be unpacked for reading. To make this as fast as possible it is recommended to put a >>7za.exe<< file into the script directory, otherwise a slow alternative will be used. Otherwise an example says more than 1000 words: >>sourcecode and download on github<< Changelog:1 point -
This UDF contains functions to make the handling of arrays more effective and elegant. Besides functions which are inspired by Python's range-create and its array-slicing, most of the functions are based on the principle of being able to specify user-defined functions for subtasks. E.g. with the classic _ArraySort() it is not possible to sort "naturally" or to sort 2D arrays by multiple columns or instead by string length or or or... With these functions here you can usually realize this in only one function call. Also the possibility to display arrays nicely formatted as string (quasi the counterpart to _ArrayDisplay) was missing until now. The function list of the UDF: Therefore, here are a few code examples for selected functions: _ArrayCreate(): _ArraySlice(): _Array2String(): _ArraySortFlexible(): _ArrayBinarySearchFlex(): _ArrayGetNthBiggestElement(): >>sourcecode and download on github<<1 point
-
A way to enumerating all open folders?
ioa747 reacted to seadoggie01 for a topic
Instead of ReDim-ing your array with every iteration, you can initialize it with this: Local $aArray[$oShell.Windows.Count + 1][2] = [["hWnd", "Path"]]1 point -
You can use the solution I provided then :1 point
-
Active Directory UDF - Help & Support (III)
seadoggie01 reacted to water for a topic
Looks good to me1 point -
Not in a single function, but you can easily create your own. With GuiGetCursorInfo you get: $aArray[0] = X coord (horizontal) $aArray[1] = Y coord (vertical) $aArray[2] = Primary down (1 if pressed, 0 if not pressed) $aArray[3] = Secondary down (1 if pressed, 0 if not pressed) $aArray[4] = ID of the control that the mouse cursor is hovering over (or 0 if none) Use MouseGetPos for x/y coord with the appropriate Opt("MouseCoordMode", x) Use _IsPressed to see if mouse down on prim and sec Use _WinAPI_WindowFromPoint to get handle of the control based on position1 point
-
just a hint on one possible way. You can use the functions present in an external file by running that script using /AutoIt3ExecuteScript and getting the return results by reading the StdOut stream. How?... you have to make calls to those functions like this: instead of using a normal call in the form of _func_1([$ params ...]) as for functions contained in the same script you have to use this other format instead: Run (@AutoItExe & "/AutoIt3ExecuteScript " & 'Filename.au3 Param1 Param2 ...', '', '', 8) From the external script, to be able to send results to the main script just use ConsoleWrite ($ Var) instead of Return $ Var As usual, a simple example script is worth more than too many words save the following two scripts in the same directory and run the MainScript.au3 p.s The main script can be compiled as well as the external script. Obviously if you compile the external script in an .exe or .a3x you must also change the command to call the external script accordingly. Check it out here: https://www.autoitscript.com/autoit3/docs/intro/running.htm I hope this helps MainScript.au3: #include <array.au3> ; Local $STDERR_MERGED = 8 Local $vReturn Local $sFilename = '.\ExternalFunc.au3' ; call func_1 $vReturn = CallExternal($sFilename, 1) MsgBox(0, 'Return', "Received: " & $vReturn) ; call func_2 $vReturn = CallExternal($sFilename, 2) _ArrayDisplay(StringSplit($vReturn, "|", $STR_NOCOUNT)) Func CallExternal($sFilename, $iParams) Local $vStdOut Local $hPID = Run(@AutoItExe & " /AutoIt3ExecuteScript " & $sFilename & ' ' & $iParams, '', '', $STDERR_MERGED) While ProcessExists($hPID) Sleep(250) $vStdOut &= StdoutRead($hPID) WEnd Return $vStdOut EndFunc ;==>CallExternal ExternalFunc.au3: ; #include <array.au3> Local $iParams = $CmdLine[0] If Not $iParams Then ConsoleWriteError("missing parameters error.") Exit EndIf Local $iParam1 = $CmdLine[1] Local $aWeekDays[] = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] Switch $iParam1 Case 1 _func_1() Case 2 _func_2() Case Else ConsoleWriteError("function number undefined error.") EndSwitch ; returns a random number Func _func_1() ; use ConsoleWrite instead of Return ConsoleWrite(Random(0, 100, 1)) EndFunc ;==>_func_1 ; returns a (pseudo) array Func _func_2() Local $sString ; ConsoleWrite(_ArrayToString($aWeekDays)) For $i = 0 To UBound($aWeekDays) - 1 $sString &= $aWeekDays[$i] & "|" Next ; use ConsoleWrite instead of Return ConsoleWrite(StringTrimRight($sString, 1)) EndFunc ;==>_func_21 point
-
only 2 cents: Reading this web page I have copied/pasted some information from there, to here in this larsj's snippet trying to understand something more. ; To initialize the web view we must call the CreateCoreWebView2EnvironmentWithOptions() method with the following arguments: ; (1) The path to the installation folder of Edge. ; If this is null, the component should automatically locate the installation of Edge and use that. ; In practice, providing null does not work well, and the component is not able to detect the browser. ; ; (2) The path to the user data folder. ; If this is null, a subfolder in the current folder will be created. ; Beware that if your application is installed in Program Files, it will not be able to create it. ; Invoking this method will result in an access denied error (0x80070005 which is a HRESULT value for ERROR_ACCESS_DENIED). ; Therefore, make sure you provide a user folder to a writable location. ; ; (3) Optional environment options (as ICoreWebView2EnvironmentOptions*) to change the behavior of the web view. ; ; (4) A handler for the result of the asynchronous operation, that will be invoked if the environment was successfully created. ; Local $aRet = DllCall($hWebView2Loader, "long", "CreateCoreWebView2EnvironmentWithOptions", _ "wstr", "", _ ; (1) "wstr", @ScriptDir, _ ; (2) "ptr", Null, _ ; (3) "ptr", $pCoreWebView2CreateCoreWebView2EnvironmentCompletedHandler) ; (4) Well, if we set the parameter (2) with a path that is convenient for us, for example @ScriptDir, we don't have to worry about enabling read/write on the WebView2 user data folder within the AutoIt path.1 point
-
Hello, Propably not an absolute clean approach, (not checking/caring about little / big endian), but it's doing, what I need: Return the last modified time stamp including the milliseconds: #include <Date.au3> $file = "c:\temp\test.txt" ; file must already exist $TSLastModMs = GetFileLastModWithMs($file) ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $TSLastModMs = ' & $TSLastModMs & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console Func GetFileLastModWithMs($_FullFilePathName) local $h = _WinAPI_CreateFile($_FullFilePathName, 2, 2) local $aTS = _Date_Time_GetFileTime($h) _WinAPI_CloseHandle($h) local $aDate = _Date_Time_FileTimeToArray($aTS[2]) ; [2] = LastModified Return StringFormat("%04d-%02d-%02d %02d:%02d:%02d.%03d", $aDate[2], $aDate[0], $aDate[1], $aDate[3], $aDate[4], $aDate[5], $aDate[6]) EndFunc ;==>GetFileLastModWithMs >Running AU3Check (3.3.14.5) from:C:\Program Files (x86)\AutoIt3 input:C:\temp\filetime.au3 +>12:10:00 AU3Check ended.rc:0 >Running:(3.3.14.5):C:\Program Files (x86)\AutoIt3\autoit3.exe "C:\temp\filetime.au3" --> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop @@ Debug(8) : $TSLastModMs = 2018-09-07 10:09:54.073 >Error code: 0 +>12:10:00 AutoIt3.exe ended.rc:0 +>12:10:00 AutoIt3Wrapper Finished. >Exit code: 0 Time: 0.9068 Regards, Rudi. --- original posting - what was my problem, below --- doing some search I found postings, stating that 2s will be the smallest time resolution for filegettime(). 2s seem to be fact for FAT as FS, NTFS has a much finer granularity. This posting states, that NTFS has a granularity of 100ns: https://superuser.com/questions/937380/get-creation-time-of-file-in-milliseconds is it possible to get more than just the "second" information? The reason, why I need this is, that I need to sort files by their creation sequence, and it can happen, that two files are created within the same second, so I cannot resolve their creation order without "millsecond info". Regards, Rudi. edit: I just tried PowerShell, there it's possible to retrieve even more than millisecond information: Millisecond : 336 Ticks : 636719150403363219 TimeOfDay : 11:04:00.3363219 PS C:\Users\Rudi> echo test > test.txt PS C:\Users\Rudi> $(Get-ChildItem .\test.txt).creationtime | format-list Date : 07.09.2018 00:00:00 Day : 7 DayOfWeek : Friday DayOfYear : 250 Hour : 11 Kind : Local Millisecond : 336 Minute : 4 Month : 9 Second : 0 Ticks : 636719150403363219 TimeOfDay : 11:04:00.3363219 Year : 2018 DateTime : Freitag, 7. September 2018 11:04:00 regards, Rudi.1 point
-
Getting the file size of a growing file (SOLVED)
SkysLastChance reacted to TheSaint for a topic
@Jfish - Thanks for that, will give it a try. I have used forfiles before, but had forgotten about it. Just for those wanting a little Valik nostalgia trip, of him in full flight ... and for those who never had the pleasure, but heard the rumors. Gonna see if I can use the code from there as well.1 point -
Best multi-threading solution?
noellarkin reacted to guinness for a topic
How I do it is... 1. Compile a second AutoIt file as an a3x file. 2. Use _RunAu3 (search the Forum) 3. Communicate with the file using WM_COPYDATA (see my signature.) It's what I do for SciTE Jump, see my signature again.1 point -
= and ==
dogisay reacted to Richard Robertson for a topic
== is case sensitive comparison. It forces both variables to string type to do this. = is a little ambiguous since AutoIt uses variants. It's easier to just not much comparing strings and numbers.1 point -
= and ==
dogisay reacted to Richard Robertson for a topic
That's because "Title of note" has no numeric value. = compared two numbers. == is for comparing case sensitive strings. == is forcing string comparison so 0 gets converted to "0". When you know you're comparing strings, you ought to compare it to a string value and not a number.1 point -
Place (?s) at the beginning of your pattern and see if that helps.1 point