Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/28/2023 in all areas

  1. probably DPI scaling: https://www.autoitscript.com/trac/autoit/ticket/3238
    1 point
  2. About ControlCommand in help file. Make sure you have latest version of AutoIt.
    1 point
  3. You're right @water . I only looked at the first obvious error without having time to test the script. That's why I love it to work in teams and communities, there is always a sheriff who will review your stuff 😅 . Best regards Sven
    1 point
  4. One way : #include <ButtonConstants.au3> [...] $OKbut = GUICtrlCreateButton("OK", 10, 170, 50, 25, $BS_DEFPUSHBUTTON) [...] or : [...] $OKbut = GUICtrlCreateButton("OK", 10, 170, 50, 25) GUICtrlSetState($OKbut, $GUI_FOCUS) [...] EDIT : You don't need the line _WinAPI_SetFocus... anymore
    1 point
  5. wraithdu

    _LargeFileCopy UDF

    Several people have had problems with their GUIs freezing when they try to copy large files using FileCopy(). This is because FileCopy() is a blocking function, and the GUI stops responding to messages from the OS during the operation. If that goes on long enough, the OS thinks it is hung and you get the (Not Responding) thing going on. Here's a function that copies large files using Windows API calls in 8MB 2 MB chunks. This keeps the GUI alive and responsive. I've added additional copy verification functionality as well (disabled by default). Take a look at my A3COPY project for a great usage example of this UDF. Update: 1/31/13 - Moved a few more functions into _FileEx. - Fixed a bug in GetDiskClusterSize function. Update: 10/8/12 - Fixed bug due to missing RtlCopyMemory and RtlCompareMemory exports in x86 kernel32.dll. Now uses RtlMoveMemory and RtlCompareMemory from ntdll.dll (sorry). Update: 10/4/12 Read NOTES at top of UDF - Reduced default buffer size to 2 MB - Added flags for copying source file attributes, all three file times individually, ACL security descriptors and ownership, and NTFS specific compression and encryption - Optimized buffer creation - Enhanced path handling to fully support UNC and network conventions ( C:... , ?C:... , srvshare... , ?UNCsrvshare... ) - Removed C runtime functions (msvcrt.dll) in favor of native kernel32 functions - Code cleanup and many optimizations in LFC and the accompanying _FileEx UDF Update: 4/15/11 - Added additional verification methods - bit by bit, and size only - The default verification method (ie iFlag 8) is now bit by bit - it is faster and less computationally intensive than MD5 hashing, it also allows the function to bail out early in the case of a failed copy operation Update: 3/9/11 SCRIPT BREAKING CHANGES - Combined some parameters into one iFlags parameter - Re-ordered some parameters based on priority - Added a parameter to specify a different read buffer size - Destination file is now opened with GENERIC_READ | GENERIC_WRITE per MSDN for better compatibility copying files across a network - No longer create destination directory structure unless specified in iFlags parameter Update: 9/20/10 - Removed tracexxx's hashing functions (sorry!) in favor of a different method which is not RAM limited - Hashing algorithm can be specified (those supported by Crypt.au3: CALG_MD2, CALG_MD4, CALG_MD5, CALG_SHA1) Update: 8/26/10 - Fix for failed verification of 0 byte files - Added check for 0 byte source in RAW functions Update: 8/22/10 - Small change to CreateFile function to avoid errors when opening SYSTEM or HIDDEN files when specifying CREATE_ALWAYS. Update: 8/10/10 - Added _LargeFileCopyUnbuffered and _LargeRawCopyUnbuffered which will copy files using unbuffered I/O. - MD5 hashing of the source file / memory block is now done on the fly from the memory buffer. This avoids an additional read of the source file later on and saves time. - Destination file MD5 hashing is now done with trancexxx's nice hashing UDF. It uses the Windows API and is really fast. Update: 7/9/2010 - Added _LargeRawCopy which will copy large memory blocks (usually from an embedded resource) to a file in the same manner as _LargeFileCopy. This function also has the verify functionality via MD5 hash. Update: 7/8/2010 - Added optional user function and variable parameters. This function, if given, will be called after each write operation with the total bytes written, total file size in bytes, and the user given variable. This is perfect for a copy-with-progess type of function call. Example #NoTrayIcon #AutoIt3Wrapper_Au3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 #include <_LargeFileCopy.au3> _Main() Func _Main() Local $msg, $timer, $ret Local $src = "ubuntu-10.04-desktop-i386.iso" ; <---- path to a really large file goes here, recommended 600MB+ Local $destpath = @DesktopDir & "testdir" ; <---- destination path goes here GUICreate("File Copy Test", 250, 150) GUICtrlCreateLabel("Try to interact with the GUI during file copy...", 20, 15) Local $go = GUICtrlCreateButton("Copy Large File", 50, 50, 150, 50) Local $doing = GUICtrlCreateLabel("Ready...", 20, 120, 200) GUISetState() Do $msg = GUIGetMsg() If $msg = $go Then ; create destination path DirCreate($destpath) ; internal FileCopy() function GUICtrlSetData($doing, "FileCopy()...") $timer = TimerInit() ConsoleWrite("FileCopy:" & @CRLF) $ret = FileCopy($src, $destpath, 1) ConsoleWrite("return: " & $ret & @CRLF & "error: " & @error & @CRLF & "time: " & TimerDiff($timer) & " ms" & @CRLF) ConsoleWrite("====================" & @CRLF) ; _LargeFileCopy() UDF function GUICtrlSetData($doing, "_LargeFileCopy()...") $timer = TimerInit() ConsoleWrite("_LargeFileCopy:" & @CRLF) $ret = _LargeFileCopy($src, $destpath, 1) ConsoleWrite("return: " & $ret & @CRLF & "error: " & @error & @CRLF & "time: " & TimerDiff($timer) & " ms" & @CRLF) ConsoleWrite("====================" & @CRLF) GUICtrlSetData($doing, "Ready...") EndIf Until $msg = -3 EndFuncLargeFileCopy.zip
    1 point
  6. Easy explanation: use http://regex101.com/ paste the regexp (?=(d{5})) option g (same as our flag 3), subject ab1234567890cd and hit "regexp debugger" to see the engine working just in front of you. By using such a look-ahead the engine walks until what follows is 5 digits. Since there are capturing parenthesis around d{5} they are captured, yet the matching point in NOT bumped at this point. After the match is recorded, the engine continues from there, well not exactly: it has to skip to the next point in subject for the next match attempt (or else it would enter an endless loop). The following matches in debugger show how things works as well.
    1 point
  7. end of Win7 and Win8 support https://github.com/MicrosoftEdge/WebView2Announcements/issues/57
    0 points
×
×
  • Create New...