Custom Query
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 | |
Description |
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:
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) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case -3 Exit(0) EndSwitch Wend Thanks! |
|||
#227 | Rejected | _GDIPlus_GraphicsFillRect and transperent windows | Lakes | |
Description |
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) Rectangles() 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 ;GUIRegisterMsg($WM_NCHITTEST, "WM_NCHITTEST") GUISetState() _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) Do Sleep(20) Until _IsPressed("1B") ; ESC key DllClose($dll) _GDIPlus_Shutdown () EndFunc ;==>Rectangles #cs ; ============================================================================ ; Handle the WM_NCHITTEST message so our window can be dragged ; ============================================================================ Func WM_NCHITTEST($HWnd, $iMsg, $iwParam, $ilParam) if $HWnd = $hGui then Return $HTCAPTION EndFunc #ce ; ================================================================= ; 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@… | |
Description |
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. |