Leaderboard
Popular Content
Showing content with the highest reputation on 02/03/2025 in all areas
-
Visual Studio Code Extension currently available and future plans for SciTE?
jaberwacky and 3 others reacted to Jos for a topic
All, I see that there are multiple efforts to create/maintain an AutoIt3 Visual Studio Code extension, and I would like to open a discussion to see how that can be streamlined/merged/done more effectively so we can come up with the one that's preferred. I have been toying with the idea to stop the development of all the LUA extra's used by SciTE and start using VSCode for the more advanced way of developing AutoIt3 scripts, as many things a way after when the extension supports it, like running au3check on save so you just click the problems tab to see the warnings/errors of the currently opened scripts. So I have been working on making the utilities packaged with SciTE4AutoIt3 suitable to run stand-alone without the need for wrapping them with AutoIt3Wrapper, with the plan to be able to make them all more generic usable for any editor. They need to support UTF8 & ANSI encoded files, even when through includes the encoding is mixed. I have modified AutoIt3Wrapper to stop renaming and changing encoding of script/include files, and updated Tidy/Au3check/Au3stripper to support special characters in filenames and mixed ANSI/UTF8 file encoding and the generated console output is UTF8. I have been toying a bit with the VSCODE extension maintained by Damian (just picked one without looking at any others) and made some modifications locally for testing. Run au3check (Ctrl+F5), Tidy (Ctrl+t), Au3Stripper (Ctrl+Shift+o) without using AutoIt3Wrapper. Other already standardly available option (Run/Compile) still run via AutoIt3Wrapper as there is an added value doing it that way. I really like what I see and think this is a good way forward. So... I like to hear how you all think about this and possibly your preferred VSCode autoIt3 extension with reasons why. Also feels as a waste of effort when so many are making their own version of an extension instead of bundling the effort making one really nice one with all required features. Thoughts/Opinions?4 points -
Also made the changes to this beta Au3Stripper v23.402.1150.2 to support input files with special characters in their name and include files. On top of that, it supports merging include files that have different encoding. The output file will be the same encoding as the Master file, and all other included files will be converted to that encoding. This makes it possible to run Au3Stripper without the need for AutoIt3Wrapper to preprocess all used files. In the process of stripping out all the preprocessing stuff and come up with the best way to redistribute au3check with the next version of the Installer package.2 points
-
#include <WindowsConstants.au3> Local $sTitle = "Beethoven - Symphony No.9 in D minor, Op.125 - 'Choral' - 4. Presto Allegro assai.flac" Local $guiWidth = 400, $aLabel[3], $aWidth[3], $alabelX[3], $iMarqueeInterval = 40 $alabelX[0] = 0 $hGUI = GUICreate("", $guiWidth, 100) GUISetStyle(-1, BitOR($WS_EX_COMPOSITED, $WS_EX_TOPMOST)) ; $WS_EX_COMPOSITED $WS_EX_TOPMOST GUISetFont(10, 400, 0, "Arial") $aLabel[0] = GUICtrlCreateLabel($sTitle, $alabelX[0], 10, -1, 18) $aWidth[0] = ControlGetPos($hGUI, "", $aLabel[0])[2] GUISetState() ; Check if the label width exceeds the GUI width If $aWidth[0] > $guiWidth Then $aLabel[1] = GUICtrlCreateLabel(" 🎵 ", $alabelX[0] + $aWidth[0], 10, -1, 18) $aWidth[1] = ControlGetPos($hGUI, "", $aLabel[1])[2] $aLabel[2] = GUICtrlCreateLabel($sTitle, $alabelX[1] + $aWidth[1], 10, -1, 18) $aWidth[2] = ControlGetPos($hGUI, "", $aLabel[2])[2] Sleep(3000) AdlibRegister("_Marquee", $iMarqueeInterval) EndIf Do Sleep(10) Until GUIGetMsg() = -3 ;~ AdlibUnRegister() Func _Marquee() If $alabelX[0] = 0 Then $alabelX[1] = $alabelX[0] + $aWidth[0] $alabelX[2] = $alabelX[1] + $aWidth[1] ;~ Sleep(3000) EndIf If $alabelX[2] = 0 Then $alabelX[1] = $alabelX[2] + $aWidth[2] $alabelX[0] = $alabelX[1] + $aWidth[1] ;~ Sleep(3000) EndIf $alabelX[0] -= 1 $alabelX[1] -= 1 $alabelX[2] -= 1 ControlMove($hGUI, "", $aLabel[0], $alabelX[0], 10) ControlMove($hGUI, "", $aLabel[1], $alabelX[1], 10) ControlMove($hGUI, "", $aLabel[2], $alabelX[2], 10) EndFunc ;==>_Marquee1 point
-
[SOLVED] - help, add right click option on header of active file/window/program
232showtime reacted to Nine for a topic
FWIW, I felt that the tool (mentioned above) would be kind of fun to make, so there you go : #include <WinAPISysWin.au3> #include <WinAPISys.au3> #include <WinAPIConstants.au3> #include <WindowsConstants.au3> #include <Misc.au3> #include <GuiMenu.au3> #include <GUIConstants.au3> #include <ColorConstants.au3> Opt("MustDeclareVars", True) Global Const $tagTITLEBARINFOEX = "int cbSize;" & $tagRECT & ";dword rgstate[6];dword rgrect[24]" Global $bRight, $hMSHook, $hMSProc, $hWnd If Not _Singleton("AutoIt SetOnTop Tool", 1) Then Exit MsgBox($MB_OK, "Error", "Tool already loaded") HotKeySet("{END}", Terminate) Example() Func Example() $hMSProc = DllCallbackRegister(MouseProc, "long", "int;wparam;lparam") $hMSHook = _WinAPI_SetWindowsHookEx($WH_MOUSE_LL, DllCallbackGetPtr($hMSProc), _WinAPI_GetModuleHandle(0)) OnAutoItExitRegister(CleanUP) While Sleep(100) If $bRight Then $bRight = False ToggleSetOnTop() EndIf WEnd EndFunc ;==>Example Func MouseProc($nCode, $wParam, $lParam) If $nCode < 0 Then Return _WinAPI_CallNextHookEx($hMSHook, $nCode, $wParam, $lParam) If ($wParam = $WM_RBUTTONDOWN Or $wParam = $WM_RBUTTONUP) And _IsPressed("11") Then $hWnd = GetWindow() If $hWnd Then $bRight = $wParam = $WM_RBUTTONUP Return 1 EndIf EndIf Return _WinAPI_CallNextHookEx($hMSHook, $nCode, $wParam, $lParam) EndFunc ;==>MouseProc Func ToggleSetOnTop() Local $iTop = BitAND(_WinAPI_GetWindowLong($hWnd, $GWL_EXSTYLE), $WS_EX_TOPMOST) Local $aPos = MouseGetPos() Local $hGUI = GUICreate("", 200, 32, $aPos[0], $aPos[1], $WS_POPUP, $WS_EX_TOOLWINDOW + $WS_EX_TOPMOST) GUISetBkColor(0xD0D0D0) Local $idLabel = GUICtrlCreateLabel($iTop ? "Topmost OFF" : "Topmost ON", 0, 0, 200, 32, $SS_CENTERIMAGE + $SS_CENTER) GUICtrlSetFont(-1, 18, Default, Default, "Arial") GUICtrlSetColor(-1, $iTop ? $COLOR_RED : $COLOR_GREEN) GUISetState() While WinActive($hGUI) Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $idLabel WinSetOnTop($hWnd, "", $iTop ? $WINDOWS_NOONTOP : $WINDOWS_ONTOP) ExitLoop EndSwitch WEnd GUIDelete() EndFunc ;==>ToggleSetOnTop Func CleanUP() _WinAPI_UnhookWindowsHookEx($hMSHook) DllCallbackFree($hMSProc) EndFunc ;==>CleanUP Func Terminate() Exit EndFunc ;==>Terminate Func GetWindow() Local Static $tPoint = DllStructCreate($tagPOINT) Local Static $tTITLEBARINFOEX = DllStructCreate($tagTITLEBARINFOEX) DllStructSetData($tTITLEBARINFOEX, "cbSize", DllStructGetSize($tTITLEBARINFOEX)) $tPoint.X = MouseGetPos(0) $tPoint.Y = MouseGetPos(1) Local $hWin = _WinAPI_GetAncestor(_WinAPI_WindowFromPoint($tPoint), $GA_ROOT) _SendMessage($hWin, $WM_GETTITLEBARINFOEX, 0, DllStructGetPtr($tTITLEBARINFOEX)) If $tTITLEBARINFOEX.top + $tTITLEBARINFOEX.bottom + $tTITLEBARINFOEX.left + $tTITLEBARINFOEX.right = 0 Then Return 0 If $tTITLEBARINFOEX.bottom <= $tTITLEBARINFOEX.top Then $tTITLEBARINFOEX.bottom = $tTITLEBARINFOEX.top + 35 If $tPoint.X >= $tTITLEBARINFOEX.left And $tPoint.X <= $tTITLEBARINFOEX.right And $tPoint.Y >= $tTITLEBARINFOEX.top And $tPoint.Y <= $tTITLEBARINFOEX.bottom Then Return $hWin EndIf Return 0 EndFunc ;==>GetWindow Latest version : 2025-02-01 07:011 point -
BETA: SciTE v5x & lua Dynamic_include and "Smart" AutoComplete for Vars/UDFs/Abbrevs
BinaryBrother reacted to Jos for a topic
Updated SciTE: Fixed UTF8 BOM detection.1 point -
Task Scheduler
DonChunior reacted to water for a file
Version 1.6.1.0
2,596 downloads
Extensive library to control and manipulate Microsoft Task Scheduler Service. Please check this site for the implementation status! Please check the History.txt file in the archive for the changelog. Please check the WIKI for details about how to use the UDF. BTW: If you like this UDF please click the "I like this" button. This tells me where to next put my development effort KNOWN BUGS (last changed: 2021-02-03) None Things to come (last changed: 2021-02-03) None1 point -
OutlookEX
DonChunior reacted to water for a file
Version 1.7.0.2
10,293 downloads
Extensive library to control and manipulate Microsoft Outlook. This UDF holds the functions to automate items (folders, mails, contacts ...) in the background. Can be seen like an API. There are other UDFs available to automate Outlook: OutlookEX_GUI: This UDF holds the functions to automate the Outlook GUI. OutlookTools: Allows to import/export contacts and events to VCF/ICS files and much more. Threads: Development - General Help & Support - Example Scripts - Wiki BTW: If you like this UDF please click the "I like this" button. This tells me where to next put my development effort KNOWN BUGS (last changed: 2020-02-09) None1 point