Custom Query


Show under each result:

Results (127 - 129 of 3866)

Ticket Resolution Summary Owner Reporter
#226 No Bug Explorer freezes momentarily when using Windows Shortcut keys while AutoIt scripts are running Koder

AutoIt seems to be causing long delays when using Windows Shortcut Keys. I have noticed that while 1 or more scripts are running, when I use a windows shortcut key (the hot key combo defined within a shortcut), Explorer freezes for a moment, nothing in Explorer will work until the shortcut launches (other apps work normally). The delay is exponentially longer if more than 1 script is running. There is no delay at all when no scripts are running and the delay is ended immediately if the script is stopped. And it seems like the longer a script has been running the longer the delay.

I have been sitting on this problem for awhile now looking for my own solution. I have found that the script itself does not matter, any script that is currently running, no defined hot keys within the script, they all cause the delay. I created a script that does nothing at all but sit in the system tray, still causes a delay. The problem occurs in all recent builds of AutoIt (betas too).

I suspect that AutoIt must be intercepting hot key messages before Windows Explorer and is then passing them on... Is there anyway to prevent this?

I've included a simplified script that demonstrates the problem although any script seems to have the same effect.

Steps to recreate:

  1. Create a shortcut key on Notepad (Ctrl-Alt N for example), test the shortcut key (while no scripts are running) to check that it works OK.
  2. Run several copies of this (or any) script and wait about 20 seconds before using a shortcut key.

Notice that explorer freezes until Notepad is opened. If you kill the script(s), explorer unfreezes quickly and Notepad opens right away.

Global $nMsg
Global $Form = GUICreate("Run several copies to see the delay", 350, 150, 263, 127)


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case -3


#227 Rejected _GDIPlus_GraphicsFillRect and transperent windows Lakes

In the example below _GDIPlus_GraphicsFillEllipse works as it should (draggable), but _GDIPlus_GraphicsFillRect is not draggable and the fill is corrupted if the mouse is clicked in the fill area.

#include <GDIPlus.au3>
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <misc.au3>

Global Const $iOpacity = 220
Global Const $ULW_ALPHA = 2
Global $hGui, $hGraphic, $hBrush, $hPen, $hBrush
Global $dll = DllOpen("user32.dll")
Global $GuiSize = @DesktopWidth / 4  ; 200 ;
Global Const $WM_LBUTTONDOWN = 0x0201  ; Drag Window 1 of 3 addin

Opt("MustDeclareVars", 1)
Opt("GUIOnEventMode", 1)


Func Rectangles()
    Local $hWnd, $hDC, $hBitmap, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend,$hPen
    $hGui = GUICreate("GDI Rectangles", 100, 200, -1, -1, 0, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST))
    GUIRegisterMsg($WM_LBUTTONDOWN, "_WinMove")    ; Drag Window 2 of 3 addin
    _GDIPlus_Startup ()
    $hWnd = _WinAPI_GetDC (0)
    $hDC = _WinAPI_CreateCompatibleDC ($hWnd)
    $hBitmap = _WinAPI_CreateCompatibleBitmap ($hWnd, $GuiSize, $GuiSize)
    _WinAPI_SelectObject ($hDC, $hBitmap)
    $hGraphic = _GDIPlus_GraphicsCreateFromHDC ($hDC)
    $hBrush = _GDIPlus_BrushCreateSolid (Random(0xff000000, 0xffffff00, 1)) 
     _GDIPlus_GraphicsFillRect ($hGraphic, 0, 0,150, 200, $hBrush)  ;this not moveable
      $hPen = _GDIPlus_PenCreate(0xFF000000, 5)
     _GDIPlus_GraphicsDrawRect ($hGraphic, 0, 0,150, 200,$hPen) ; Border is moveable

    _GDIPlus_GraphicsFillEllipse ($hGraphic, 0, 0, 10, 10, $hBrush)  ;this  is moveable
    $tSize = DllStructCreate($tagSIZE)
    $pSize = DllStructGetPtr($tSize)
    DllStructSetData($tSize, "X", $GuiSize)
    DllStructSetData($tSize, "Y", $GuiSize)
    $tSource = DllStructCreate($tagPOINT)
    $pSource = DllStructGetPtr($tSource)
    $tBlend = DllStructCreate($tagBLENDFUNCTION)
    $pBlend = DllStructGetPtr($tBlend)
    DllStructSetData($tBlend, "Alpha", $iOpacity)
    DllStructSetData($tBlend, "Format", 1)
    _WinAPI_UpdateLayeredWindow ($hGui, $hWnd, 0, $pSize, $hDC, $pSource, 0, $pBlend, $ULW_ALPHA)
    _GDIPlus_PenDispose ($hPen)
    _GDIPlus_BrushDispose ($hBrush)
    _GDIPlus_GraphicsDispose ($hGraphic)
    _WinAPI_ReleaseDC (0, $hWnd)
    _WinAPI_DeleteObject ($hBitmap)
    _WinAPI_DeleteDC ($hDC)
    Until _IsPressed("1B")  ; ESC key
    _GDIPlus_Shutdown ()
EndFunc   ;==>Rectangles

    ; ============================================================================
    ; Handle the WM_NCHITTEST message so our window can be dragged
    ; ============================================================================
    Func WM_NCHITTEST($HWnd, $iMsg, $iwParam, $ilParam)
    if $HWnd = $hGui then Return $HTCAPTION

; =================================================================
; Drag Window 3 of 3 addin
; =================================================================
Func _WinMove($hWnd, $Command, $wParam, $lParam)
    If BitAND(WinGetState($hWnd), 32) Then Return $GUI_RUNDEFMSG
    ;DllCall("user32.dll", "long", "SendMessage", "hwnd", $HWnd, "int", $WM_SYSCOMMAND, "int", 0xF009, "int", 0)
    DllCall("user32.dll", "int", "SendMessage", "hWnd", $hWnd, "int", $WM_NCLBUTTONDOWN, "int", $HTCAPTION, "int", 0)
EndFunc   ;==>_WinMove
#228 Rejected Parse and write XML misi1967@…

There should be a way to write and read XML-Data. For example, a script can read a xml via http and parse this xml. For the result, the preferred way should be a dom-tree.

Note: See TracQuery for help on using queries.