Leaderboard
Popular Content
Showing content with the highest reputation on 10/15/2013 in all areas
-
Protect my EXE's Resource Data
water and one other reacted to JLogan3o13 for a topic
If you had bothered with a forum search you would have seen that this particular horse has been beaten to death on a number of occasions. The bottom line is, if someone wants your little script bad enough they will get it.2 points -
Browsing a Chinese AutoIt forum, i fall on a little pearl that i want to share with you ! I have already seen water effects example with autoit, but this one is very easy to create using waterctrl.dll Only BMP are supported. Position of Blob water can be set by coordinates and mouse movements (and clicks) when over bmp create traces on water. All files are embeded in script with BinaryToAu3Kompressor. WaterEffect.au3 Hope you like it !1 point
-
GlyphDesigner v1.00
jaberwacky reacted to Biatu for a topic
Finished up a new software today. It's called GlyphDesigner. It is designed to function as digital graph paper and will be used to create/import glyphs for the BlockArchitecture. GlyphDesigner v1.06 ChangeLog: v1.06 https://www.dropbox.com/s/pj9wgna67phqy2w/GlyphDesigner%20v1.06.exe -Few Optimizations. (Cut MilliSec/Frame in half) -Implemented Image Export (Png, jpg, bmp) -Hide Control Points on circles. Screenshots1 point -
Cursor clock
Starstar reacted to DatMCEyeBall for a topic
Clock based on the original example that comes with AutoIT, just made out of Win7/Vista Cursors. It's an experiment. Screenshot: CursorClock.au3 ; Note: if you are using AutoIt v3.3.8.1 or lower, comment out lines (63, 127, 174) and uncomment lines (64, 128, 175). #include <GDIPlus.au3> #include <WinAPI.au3> #include <WindowsConstants.au3> #include <GuiConstantsEx.au3> #include <Math.au3> #include <Misc.au3> #include <WinAPI.au3> #include <Memory.au3> ; #AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w- 7 Global Const $AC_SRC_ALPHA = 1 Global Const $nPI = 3.1415926535897932384626433832795 Global $ahDrawState Global $iN, $iMsg Global $iRadius = 200 Global $iPrevRadius = 200 Global $iMaxRadius = 300 Global $iCursorSec = $iRadius / 20, $iCursorMin = $iRadius / 20, $iCursorHour = Int($iRadius / 40 + $iRadius / 100) Global $aiSecCursorPos[$iCursorSec][2], $aiMinCursorPos[$iCursorMin][2], $aiHourCursorPos[$iCursorHour][2] _GDIPlus_Startup() Global Enum $iCURSOR_W, $iCURSOR_B, $iCURSOR_R, $iCURSOR_Bl, $iCURSOR_P, $iCURSOR_MAX Global $ahCursor[5] _SetCursorBinary($ahCursor) For $i = 0 To $iCURSOR_MAX - 1 $ahCursor[$i] = _GDIPlus_BMPFromMemory($ahCursor[$i]) Next #Region GUI Global $hGUI = GUICreate("Cursor Clock", $iMaxRadius * 2 + 17, $iMaxRadius * 2 + 24, -1, -1, $WS_POPUP, $WS_EX_LAYERED) Global $hLable = GUICtrlCreateLabel("", 0, 0, $iMaxRadius * 2 + 17, $iMaxRadius * 2 + 24, -1, $GUI_WS_EX_PARENTDRAG) Global $hContextMenu = GUICtrlCreateContextMenu($hLable) Global $hContextMenu_Resize = GUICtrlCreateMenu("Size", $hContextMenu) Global $ahResizeMenuItems[8] For $x = 0 To 7 $ahResizeMenuItems[$x] = GUICtrlCreateMenuItem($x * 20 + 160, $hContextMenu_Resize) Next GUICtrlSetState($ahResizeMenuItems[($iRadius - 160) / 20], $GUI_CHECKED) GUICtrlCreateMenuItem("", $hContextMenu) Global $hContextMenu_Exit = GUICtrlCreateMenuItem("Exit", $hContextMenu) GUISetState(@SW_SHOW) #EndRegion GUI #Region Clock intro Global $iStep = 25, $nCurRadius = 1, $nAddtoCurRadius = $iRadius / $iStep Global $nCurRadian = 0, $nAddToCurRadian = 20 / $iStep For $iStepAmount = 1 To $iStep $nCurRadius += $nAddtoCurRadius $nCurRadian += $nAddToCurRadian $ahDrawState = _LayeredWindow_StartDraw($iMaxRadius * 2 + 17, $iMaxRadius * 2 + 24) _GDIPlus_GraphicsDrawImage_Int($ahDrawState[1], $ahCursor[$iCURSOR_W], $iMaxRadius, $iMaxRadius) $iN = 0 For $iI = 0 To 2 * $nPI Step $nPI / 30 If $iN > 59 Then ExitLoop _GDIPlus_GraphicsDrawImage_Int($ahDrawState[1], (Mod($iN, 5) = 0) ? ($ahCursor[$iCURSOR_Bl]) : ($ahCursor[$iCURSOR_W]), $iMaxRadius + Cos($iI) * $nCurRadius, $iMaxRadius - Sin($iI) * $nCurRadius) ;~ _GDIPlus_GraphicsDrawImage_Int($ahDrawState[1], _Iif(Mod($iN, 5) = 0, $ahCursor[$iCURSOR_Bl], $ahCursor[$iCURSOR_W]), $iMaxRadius + Cos($iI) * $nCurRadius, $iMaxRadius - Sin($iI) * $nCurRadius) ; <= 3.3.8.1 $iN += 1 Next For $x = 1 To $iCursorSec If $x <= $iCursorMin Then _GDIPlus_GraphicsDrawImage_Int($ahDrawState[1], $ahCursor[$iCURSOR_R], $iMaxRadius + Cos(TimeToRadians("min")) * ($x * $nCurRadian), $iMaxRadius - Sin(TimeToRadians("min")) * ($x * $nCurRadian)) EndIf If $x <= $iCursorHour Then _GDIPlus_GraphicsDrawImage_Int($ahDrawState[1], $ahCursor[$iCURSOR_P], $iMaxRadius + Cos(TimeToRadians("hour")) * ($x * $nCurRadian), $iMaxRadius - Sin(TimeToRadians("hour")) * ($x * $nCurRadian)) EndIf _GDIPlus_GraphicsDrawImage_Int($ahDrawState[1], $ahCursor[$iCURSOR_B], $iMaxRadius + Cos(TimeToRadians("sec")) * ($x * $nCurRadian), $iMaxRadius - Sin(TimeToRadians("sec")) * ($x * $nCurRadian)) Next _LayeredWindow_EndDraw($hGUI, $ahDrawState) Next _ResetCursorPosBuffers() GUIRegisterMsg($WM_NCHITTEST, "WM_NCHITTEST") OnAutoItExitRegister("_Exit") _Update() AdlibRegister("_Update", 1000) #EndRegion Clock intro While 1 $iMsg = GUIGetMsg() If $iMsg = $GUI_EVENT_CLOSE Or $iMsg = $hContextMenu_Exit Then Exit EndIf For $x = 0 To 7 If $iMsg = $ahResizeMenuItems[$x] And $x <> ($iRadius - 160) / 20 Then AdlibUnRegister("_Update") GUICtrlSetState($ahResizeMenuItems[($iRadius - 160) / 20], $GUI_UNCHECKED) $iPrevRadius = $iRadius $iRadius = $x * 20 + 160 GUICtrlSetState($ahResizeMenuItems[($iRadius - 160) / 20], $GUI_CHECKED) $iCursorSec = $iRadius / 20 $iCursorMin = $iRadius / 20 $iCursorHour = Int($iRadius / 40 + $iRadius / 100) ReDim $aiSecCursorPos[$iCursorSec][2], $aiMinCursorPos[$iCursorMin][2], $aiHourCursorPos[$iCursorHour][2] _ResetCursorPosBuffers() _Update() AdlibRegister("_Update", 1000) ExitLoop EndIf Next WEnd Func _Exit() AdlibUnRegister("_Update") Local $iStep = 25, $nCurRadius = $iRadius, $nAddtoCurRadius = $iRadius / $iStep Local $nCurRadian = 20, $nAddToCurRadian = 20 / $iStep For $iStepAmount = 1 To $iStep $nCurRadius -= $nAddtoCurRadius $nCurRadian -= $nAddToCurRadian $ahDrawState = _LayeredWindow_StartDraw($iMaxRadius * 2 + 17, $iMaxRadius * 2 + 24) _GDIPlus_GraphicsDrawImage_Int($ahDrawState[1], $ahCursor[$iCURSOR_W], $iMaxRadius, $iMaxRadius) $iN = 0 For $iI = 0 To 2 * $nPI Step $nPI / 30 If $iN > 59 Then ExitLoop _GDIPlus_GraphicsDrawImage_Int($ahDrawState[1], (Mod($iN, 5) = 0) ? ($ahCursor[$iCURSOR_Bl]) : ($ahCursor[$iCURSOR_W]), $iMaxRadius + Cos($iI) * $nCurRadius, $iMaxRadius - Sin($iI) * $nCurRadius) ;~ _GDIPlus_GraphicsDrawImage_Int($ahDrawState[1], _Iif(Mod($iN, 5) = 0, $ahCursor[$iCURSOR_Bl], $ahCursor[$iCURSOR_W]), $iMaxRadius + Cos($iI) * $nCurRadius, $iMaxRadius - Sin($iI) * $nCurRadius) ; <= 3.3.8.1 $iN += 1 Next For $x = 0 To $iCursorSec - 1 If $x < $iCursorMin Then _GDIPlus_GraphicsDrawImage_Int($ahDrawState[1], $ahCursor[$iCURSOR_R], $iMaxRadius + Cos(TimeToRadians("min")) * (($x + 1) * $nCurRadian), $iMaxRadius - Sin(TimeToRadians("min")) * (($x + 1) * $nCurRadian)) EndIf If $x < $iCursorHour Then _GDIPlus_GraphicsDrawImage_Int($ahDrawState[1], $ahCursor[$iCURSOR_P], $iMaxRadius + Cos(TimeToRadians("hour")) * (($x + 1) * $nCurRadian), $iMaxRadius - Sin(TimeToRadians("hour")) * (($x + 1) * $nCurRadian)) EndIf _GDIPlus_GraphicsDrawImage_Int($ahDrawState[1], $ahCursor[$iCURSOR_B], $iMaxRadius + Cos(TimeToRadians("sec")) * (($x + 1) * $nCurRadian), $iMaxRadius - Sin(TimeToRadians("sec")) * (($x + 1) * $nCurRadian)) Next _LayeredWindow_EndDraw($hGUI, $ahDrawState) Next For $i = 0 To $iCURSOR_MAX - 1 _GDIPlus_BitmapDispose($ahCursor[$i]) Next _GDIPlus_Shutdown() EndFunc ;==>_Exit Func _Update() Local $aiSecCursorPosCur[$iCursorSec][2], $aiSecCursorStep[$iCursorSec][2], $iStep = Int(10 * (200 / $iRadius)) Local $aiMinCursorPosCur[$iCursorMin][2], $aiMinCursorStep[$iCursorMin][2] Local $aiHourCursorPosCur[$iCursorHour][2], $aiHourCursorStep[$iCursorHour][2] Local $iCurRadiusStep = ($iRadius - $iPrevRadius) / $iStep, $iCurRadius = $iPrevRadius Local $hBrush, $sString, $hFormat, $hFamily, $hFont, $tLayout, $aInfo _GetBufferPos("sec", $aiSecCursorPosCur, $aiSecCursorPos, $aiSecCursorStep, $iStep) _GetBufferPos("min", $aiMinCursorPosCur, $aiMinCursorPos, $aiMinCursorStep, $iStep) _GetBufferPos("hour", $aiHourCursorPosCur, $aiHourCursorPos, $aiHourCursorStep, $iStep) For $iStepAmount = 1 To $iStep $ahDrawState = _LayeredWindow_StartDraw($iMaxRadius * 2 + 17, $iMaxRadius * 2 + 24) $iCurRadius += $iCurRadiusStep $hBrush = _GDIPlus_BrushCreateSolid(0x01FFFFFF) _GDIPlus_GraphicsFillEllipse($ahDrawState[1], $iMaxRadius - $iCurRadius, $iMaxRadius - $iCurRadius, $iCurRadius * 2 + 17, $iCurRadius * 2 + 24, $hBrush) _GDIPlus_BrushDispose($hBrush) _GDIPlus_GraphicsDrawImage_Int($ahDrawState[1], $ahCursor[$iCURSOR_W], $iMaxRadius, $iMaxRadius) $iN = 0 For $iI = 0 To 2 * $nPI Step $nPI / 30 If $iN > 59 Then ExitLoop _GDIPlus_GraphicsDrawImage_Int($ahDrawState[1], (Mod($iN, 5) = 0) ? ($ahCursor[$iCURSOR_Bl]) : ($ahCursor[$iCURSOR_W]), $iMaxRadius + Cos($iI) * $nCurRadius, $iMaxRadius - Sin($iI) * $nCurRadius) ;~ _GDIPlus_GraphicsDrawImage_Int($ahDrawState[1], _Iif(Mod($iN, 5) = 0, $ahCursor[$iCURSOR_Bl], $ahCursor[$iCURSOR_W]), $iMaxRadius + Cos($iI) * $nCurRadius, $iMaxRadius - Sin($iI) * $nCurRadius) ; <= 3.3.8.1 $iN += 1 Next For $x = 0 To $iCursorSec - 1 If $x < $iCursorMin Then _AddPosAndDraw($aiMinCursorPos[$x][0], $aiMinCursorPos[$x][1], $aiMinCursorStep[$x][0], $aiMinCursorStep[$x][1], $iCURSOR_R) EndIf If $x < $iCursorHour Then _AddPosAndDraw($aiHourCursorPos[$x][0], $aiHourCursorPos[$x][1], $aiHourCursorStep[$x][0], $aiHourCursorStep[$x][1], $iCURSOR_P) EndIf _AddPosAndDraw($aiSecCursorPos[$x][0], $aiSecCursorPos[$x][1], $aiSecCursorStep[$x][0], $aiSecCursorStep[$x][1], $iCURSOR_B) Next $hBrush = _GDIPlus_BrushCreateSolid(0x7FFFFFFF) Local $iRectWidth = $iCurRadius / 1.5 - $iCurRadius / 12, $iRectHeight = $iCurRadius / 4 - $iCurRadius / 11 Local $iRectX = $iMaxRadius - $iRectWidth / 2, $iRectY = $iMaxRadius / 3 + $iMaxRadius / 4 _GDIPlus_GraphicsFillRect($ahDrawState[1], $iRectX, $iRectY, $iRectWidth, $iRectHeight, $hBrush) $sString = StringFormat("%02d:%02d:%02d", @HOUR, @MIN, @SEC) _GDIPlus_BrushSetSolidColor($hBrush, 0xFF000000) $hFormat = _GDIPlus_StringFormatCreate() $hFamily = _GDIPlus_FontFamilyCreate("Arial") $hFont = _GDIPlus_FontCreate($hFamily, $iCurRadius / 10, 1) $tLayout = _GDIPlus_RectFCreate($iRectX, $iRectY, 0, 0) $aInfo = _GDIPlus_GraphicsMeasureString($ahDrawState[1], $sString, $hFont, $tLayout, $hFormat) DllStructSetData($aInfo[0], "X", ($iRectWidth / 2) - (DllStructGetData($aInfo[0], "Width") / 2) + $iRectX) DllStructSetData($aInfo[0], "Y", ($iRectHeight / 2) - (DllStructGetData($aInfo[0], "Height") / 2) + $iRectY) _GDIPlus_GraphicsDrawStringEx($ahDrawState[1], $sString, $hFont, $aInfo[0], $hFormat, $hBrush) _GDIPlus_FontDispose($hFont) _GDIPlus_FontFamilyDispose($hFamily) _GDIPlus_StringFormatDispose($hFormat) _GDIPlus_BrushDispose($hBrush) _LayeredWindow_EndDraw($hGUI, $ahDrawState) Next _SetBufferPos($aiSecCursorPos, $aiSecCursorPosCur) _SetBufferPos($aiMinCursorPos, $aiMinCursorPosCur) _SetBufferPos($aiHourCursorPos, $aiHourCursorPosCur) $iPrevRadius = $iRadius EndFunc ;==>_Update Func TimeToRadians($sTimeType) Switch $sTimeType Case "sec" Return ($nPI / 2) - (@SEC * ($nPI / 30)) Case "min" Return ($nPI / 2) - (@MIN * ($nPI / 30)) - ((@SEC / 10) * ($nPI / 180)) Case "hour" Return ($nPI / 2) - (@HOUR * ($nPI / 6)) - (@MIN / 12) * ($nPI / 30) EndSwitch EndFunc ;==>TimeToRadians Func WM_NCHITTEST($hWnd, $iMsg, $iwParam, $ilParam) #forceref $hWnd, $iwParam, $ilParam If $iMsg = $WM_NCHITTEST Then Return $HTCAPTION EndIf Return $GUI_RUNDEFMSG EndFunc ;==>WM_NCHITTEST Func _ResetCursorPosBuffers() ; Resets the positions of the cursors in the buffers (Call after changing clock radius and on init) For $x = 0 To $iCursorSec - 1 If $x < $iCursorMin Then $aiMinCursorPos[$x][0] = $iMaxRadius + Cos(TimeToRadians("min")) * (($x + 1) * $nCurRadian) $aiMinCursorPos[$x][1] = $iMaxRadius - Sin(TimeToRadians("min")) * (($x + 1) * $nCurRadian) EndIf If $x < $iCursorHour Then $aiHourCursorPos[$x][0] = $iMaxRadius + Cos(TimeToRadians("hour")) * (($x + 1) * $nCurRadian) $aiHourCursorPos[$x][1] = $iMaxRadius - Sin(TimeToRadians("hour")) * (($x + 1) * $nCurRadian) EndIf $aiSecCursorPos[$x][0] = $iMaxRadius + Cos(TimeToRadians("sec")) * (($x + 1) * $nCurRadian) $aiSecCursorPos[$x][1] = $iMaxRadius - Sin(TimeToRadians("sec")) * (($x + 1) * $nCurRadian) Next EndFunc ;==>_ResetCursorPosBuffers Func _AddPosAndDraw(ByRef $nXPos, ByRef $nYPos, ByRef $nXStep, ByRef $nYStep, $iIndex) $nXPos += $nXStep $nYPos += $nYStep _GDIPlus_GraphicsDrawImage_Int($ahDrawState[1], $ahCursor[$iIndex], $nXPos, $nYPos) EndFunc ;==>_AddOffsetsAndDraw Func _SetBufferPos(ByRef $anOld, ByRef $anNew) For $iI = 0 To UBound($anOld) - 1 $anOld[$iI][0] = $anNew[$iI][0] $anOld[$iI][1] = $anNew[$iI][1] Next EndFunc ;==>_SetOffsets Func _GetBufferPos($sTimeType, ByRef $anPosCur, ByRef $anPosOld, ByRef $anStep, ByRef $iStep) For $iI = 0 To UBound($anPosCur) - 1 $anPosCur[$iI][0] = $iMaxRadius + Cos(TimeToRadians($sTimeType)) * (($iI + 1) * 20) $anPosCur[$iI][1] = $iMaxRadius - Sin(TimeToRadians($sTimeType)) * (($iI + 1) * 20) $anStep[$iI][0] = ($anPosCur[$iI][0] - $anPosOld[$iI][0]) / $iStep $anStep[$iI][1] = ($anPosCur[$iI][1] - $anPosOld[$iI][1]) / $iStep Next EndFunc ;==>_GetBufferOffsets Func _LayeredWindow_StartDraw($iW, $iH, $iSmooth = 2) Local $hBitmap = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromScan0", "int", $iW, "int", $iH, "int", 0, "int", $GDIP_PXF32ARGB, "ptr", 0, "int*", 0) $hBitmap = $hBitmap[6] Local $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap) _GDIPlus_GraphicsSetSmoothingMode($hCtxt, $iSmooth) Local $ahState[2] = [$hBitmap, $hCtxt] Return $ahState EndFunc ;==>_LayeredWindow_StartDraw Func _LayeredWindow_EndDraw($hGUI, ByRef $ahState, $iOpacity = 255) SetBitmap($hGUI, $ahState[0], $iOpacity) _GDIPlus_GraphicsDispose($ahState[1]) _GDIPlus_BitmapDispose($ahState[0]) EndFunc ;==>_LayeredWindow_EndDraw ; Draw image with integer point precision (some images appear blurry with floating point precision) Func _GDIPlus_GraphicsDrawImage_Int($hGraphics, $hImage, $nX, $nY) Return _GDIPlus_GraphicsDrawImage($hGraphics, $hImage, Int($nX), Int($nY)) EndFunc ;==>_GDIPlus_GraphicsDrawImage_Int Func _GDIPlus_BMPFromMemory($bImage, $hHBITMAP = False) If Not IsBinary($bImage) Then Return SetError(1, 0, 0) Local $aResult Local Const $memBitmap = Binary($bImage) ;load image saved in variable (memory) and convert it to binary Local Const $len = BinaryLen($memBitmap) ;get length of image Local Const $hData = _MemGlobalAlloc($len, $GMEM_MOVEABLE) ;allocates movable memory ($GMEM_MOVEABLE = 0x0002) Local Const $pData = _MemGlobalLock($hData) ;translate the handle into a pointer Local $tMem = DllStructCreate("byte[" & $len & "]", $pData) ;create struct DllStructSetData($tMem, 1, $memBitmap) ;fill struct with image data _MemGlobalUnlock($hData) ;decrements the lock count associated with a memory object that was allocated with GMEM_MOVEABLE $aResult = DllCall("ole32.dll", "int", "CreateStreamOnHGlobal", "handle", $pData, "int", True, "ptr*", 0) ;Creates a stream object that uses an HGLOBAL memory handle to store the stream contents If @error Then Return SetError(2, 0, 0) Local Const $hStream = $aResult[3] $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromStream", "ptr", $hStream, "int*", 0) ;Creates a Bitmap object based on an IStream COM interface If @error Then Return SetError(3, 0, 0) Local Const $hBitmap = $aResult[2] Local $tVARIANT = DllStructCreate("word vt;word r1;word r2;word r3;ptr data; ptr") DllCall("oleaut32.dll", "long", "DispCallFunc", "ptr", $hStream, "dword", 8 + 8 * @AutoItX64, _ "dword", 4, "dword", 23, "dword", 0, "ptr", 0, "ptr", 0, "ptr", DllStructGetPtr($tVARIANT)) ;release memory from $hStream to avoid memory leak $tMem = 0 $tVARIANT = 0 If $hHBITMAP Then Local Const $hHBmp = _WinAPI_BitmapCreateDIBFromBitmap($hBitmap) _GDIPlus_BitmapDispose($hBitmap) Return $hHBmp EndIf Return $hBitmap EndFunc ;==>_GDIPlus_BMPFromMemory Func _WinAPI_BitmapCreateDIBFromBitmap($hBitmap) ;create 32-bit bitmap v5 (alpha channel supported) Local $tBIHDR, $aRet, $tData, $pBits, $hResult = 0 $aRet = DllCall($ghGDIPDll, 'uint', 'GdipGetImageDimension', 'ptr', $hBitmap, 'float*', 0, 'float*', 0) If (@error) Or ($aRet[0]) Then Return 0 $tData = _GDIPlus_BitmapLockBits($hBitmap, 0, 0, $aRet[2], $aRet[3], $GDIP_ILMREAD, $GDIP_PXF32ARGB) $pBits = DllStructGetData($tData, 'Scan0') If Not $pBits Then Return 0 $tBIHDR = DllStructCreate('dword bV5Size;long bV5Width;long bV5Height;word bV5Planes;word bV5BitCount;dword bV5Compression;' & _ ;http://msdn.microsoft.com/en-us/library/windows/desktop/dd183381(v=vs.85).aspx 'dword bV5SizeImage;long bV5XPelsPerMeter;long bV5YPelsPerMeter;dword bV5ClrUsed;dword bV5ClrImportant;' & _ 'dword bV5RedMask;dword bV5GreenMask;dword bV5BlueMask;dword bV5AlphaMask;dword bV5CSType;' & _ 'int bV5Endpoints[3];dword bV5GammaRed;dword bV5GammaGreen;dword bV5GammaBlue;dword bV5Intent;' & _ 'dword bV5ProfileData;dword bV5ProfileSize;dword bV5Reserved') DllStructSetData($tBIHDR, 'bV5Size', DllStructGetSize($tBIHDR)) DllStructSetData($tBIHDR, 'bV5Width', $aRet[2]) DllStructSetData($tBIHDR, 'bV5Height', $aRet[3]) DllStructSetData($tBIHDR, 'bV5Planes', 1) DllStructSetData($tBIHDR, 'bV5BitCount', 32) DllStructSetData($tBIHDR, 'bV5Compression', 0) ; $BI_BITFIELDS = 3, $BI_RGB = 0, $BI_RLE8 = 1, $BI_RLE4 = 2, $RGBA = 0x41424752 DllStructSetData($tBIHDR, 'bV5SizeImage', $aRet[3] * DllStructGetData($tData, 'Stride')) DllStructSetData($tBIHDR, 'bV5AlphaMask', 0xFF000000) DllStructSetData($tBIHDR, 'bV5RedMask', 0x00FF0000) DllStructSetData($tBIHDR, 'bV5GreenMask', 0x0000FF00) DllStructSetData($tBIHDR, 'bV5BlueMask', 0x000000FF) DllStructSetData($tBIHDR, 'bV5CSType', 2) ; LCS_WINDOWS_COLOR_SPACE = 2 DllStructSetData($tBIHDR, 'bV5Intent', 4) ; $LCS_GM_IMA $hResult = DllCall('gdi32.dll', 'ptr', 'CreateDIBSection', 'hwnd', 0, 'ptr', DllStructGetPtr($tBIHDR), 'uint', 0, 'ptr*', 0, 'ptr', 0, 'dword', 0) If (Not @error) And ($hResult[0]) Then DllCall('gdi32.dll', 'dword', 'SetBitmapBits', 'ptr', $hResult[0], 'dword', $aRet[2] * $aRet[3] * 4, 'ptr', DllStructGetData($tData, 'Scan0')) $hResult = $hResult[0] Else $hResult = 0 EndIf _GDIPlus_BitmapUnlockBits($hBitmap, $tData) $tData = 0 $tBIHDR = 0 Return $hResult EndFunc ;==>_WinAPI_BitmapCreateDIBFromBitmap Func SetBitmap($hGUI, $hImage, $iOpacity = 255) Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend $hScrDC = _WinAPI_GetDC(0) $hMemDC = _WinAPI_CreateCompatibleDC($hScrDC) $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage) $hOld = _WinAPI_SelectObject($hMemDC, $hBitmap) $tSize = DllStructCreate($tagSIZE) $pSize = DllStructGetPtr($tSize) DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage)) DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage)) $tSource = DllStructCreate($tagPOINT) $pSource = DllStructGetPtr($tSource) $tBlend = DllStructCreate($tagBLENDFUNCTION) $pBlend = DllStructGetPtr($tBlend) DllStructSetData($tBlend, "Alpha", $iOpacity) DllStructSetData($tBlend, "Format", $AC_SRC_ALPHA) _WinAPI_UpdateLayeredWindow($hGUI, $hScrDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA) _WinAPI_ReleaseDC(0, $hScrDC) _WinAPI_SelectObject($hMemDC, $hOld) _WinAPI_DeleteObject($hBitmap) _WinAPI_DeleteDC($hMemDC) EndFunc ;==>SetBitmap #Region ### Base64 Strings ### ;Code below was generated by: 'File to Base64 String' Code Generator v1.12 Build 2013-03-25 Func _SetCursorBinary(ByRef $abBinary) $abBinary[0] = 'iVBORw0KGgoAAAANSUhEUgAAABEAAAAYCAYAAAAcYhYyAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACfUlEQVR4nJ2V70uTURTHz6MXkqKgtvmjet0bwSSioIg0ndBAalqOfmhuElgsG9Sa6xfUzNB6EdaLQorIIJzlCmOBGRKBYJYv6l9Y9TqK3Obz3Kdzb+eOx/3I1YXvzr1393yec86ze8aqNtaYjx4O3XI21gUBwBTCweEfBhMfHZ09gfir18y119mLS0PTtEW0XNCKhnx4PwlbtzX5x2MTK1rczWHcWkClEWYUA5KQ9VUVCnR87Gms9OABt4hIQ6WKATE1sYB8o9FxzdPW0ktfLQti1oUF5EUQFAti2Rv/A8qBiFFZ4YDZmThs3+EqCpQD4ZxLlZfb4d3bF7Br975lQSwfwDAMKYd9HbyZjEJDU9tfQawQQNd1ae0Iik+MgKu5XYFC8OeXnUIZGUghgLBCNttaeP7sPuxv7fLi8WsE4RiNvCIZiAIkEl/B4bBJ581bGvPVfRUqTZHowl1CrIC6hla4MXAJ9tTvlB6hYPd04PTJQXJIokopA2E1MTIQBbhyORALhiLu2ZmXKoV6PHKdnr5AWqR6iHRMCVGAvqtnxrp8x4axPbjn5z9DdfUmGc3Q7bvBnlPdF3H6A/UT9YugPFNYAbg5eGHkyGHPPRFmf19w9IQ/7JmeisKTx3fg0FG/E/fPUwRJkq76DvuW+FSGdjUCbFQ009vZHsFoPHNzHx/U1tb4qKAa1cGkCDKNi9EiTSHqlGsa4RvOhQe+iEP9kbPDXm+HcC4h2JLByEm8ru/0JE6wEgRVol2DgDJyNiiSpRCRl2qHln1OT1VhryRIkurCc+4OgUyaS4trbsk/RRBdQbLTAauzdS0umSU9FWHOv0HefpIFVvdEK9TZfgMB+Z2S78EXcQAAAABJRU5ErkJggg==' $abBinary[1] = 'iVBORw0KGgoAAAANSUhEUgAAABEAAAAYCAYAAAAcYhYyAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAC8ElEQVR4nJWVX2hSURzHz71ecTUSRtCzKxpBjvRhZXNkDpQ5H7Y5MVY9tcIhDnwZrdqetsD2tAcflPKxBRFTqC3wwbC5dTd0DHyThEGsCKQROp1O7+137s4Z7o+bHfhxPL/D73O/v9/vnCMniuLvdDozNzTkGFtfXxcRQuASBfQfgwNj2tqu9CSTSS4QCIwXi8UqwzB74BcwrVEIGh4evhYMBmVOp1OxsLDwDFxFsDLAqo2AJMji4iLa2Ni4qtFoZFardUan043zPM/AVqkREEd/aLVa1NnZeXl5eZkZHLS/Asg42ToTxNUucrkc0uv1rRgEId75+Q9Y0ZmgQ5BUKiXNoEi1srJivKW77TXc0Z+piDvqwCOfz6Ouri5VPB43WiwW7/b29qmKToRQRQaDQRWLxYy9vb1eWNZVdCKEjkKhgLq7u1XRaFQC1VN0KiSRSEiz2WxWRSIR4+zsrBfinq6uruLgElj1AALUY4COjg7EsqxkuP0AUHk8nruhUEgJ2xgiQJx0RepCcDCR/oO4cCArl8ubYS4TJRUMO4C0tLQgpVKJNjc3kXNkBInC/h2cnn75PZlMzAiCUIGxC3AZyUC2H8owHP2qw+FAfr9/h+fXIgG/X+9yuS75fD40MfHiut1ur4bDYfz1IrE9Ug+cjihBbDYbzjkfCn/8vPT1y2ud7qbGZDKjeHwJb++AsrFsNjsB7c7BOo8bR1KS5HJvgm//jI56mubevQ8/uH8vgGWazZa1gYH+Zp7/htW0ut3uc9NTUwJRsEusQt8d7snjhzdgvgB2EQwXTZycfD7V02PSQrqfMpnMI+xj9qsvo52hKmiLBSKtQKpdhfNRbm9vN8LJTW79/JXq6+vnycFicTGPdpIjBcLt+ku+hKGVcrnMqtVqjUKhUMKz2USCq0TJYQjOiz6HNX4hnU6zNbLPE8guqYtw7O4QkEh+i+TsCDX5lwikQiFH00G1wbVrfMloelQhOuHf4NQLSMD0njD1XrZ/xpubTeglEfsAAAAASUVORK5CYII=' $abBinary[2] = 'iVBORw0KGgoAAAANSUhEUgAAABEAAAAYCAYAAAAcYhYyAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACAElEQVR4nJ2VSy9DQRTHzzBBCBskEnvxCWwRuiCxqKALhFaIiNdGPGInIrESFh6N1DPiEV1IWIiILV/AY21lJYS2bu845/aMjLbqMsm5M2fa85v/mblzrgSl1PnF1YKnvmYMABQZNhv+0CQ9PHXVo6dn57KxwTOBblwI8YG9TTTXkGhVFeReXw8eh09ym71Nkzj1jhZDWNwNyIHk3NxoUO/hUTi7tcVLigTx3YCkHhigwP7BsfC1NU/wT7+CpOkYID+CwC1IJk/8B5QC0SAlBAilXIHSQnRzC8oIcQv6FZIGNA6JNzuKFncNMUE4nGWIjWqcK5IRItKfaAFajJVYBEuBUOBTRSWUPNw5/sLi8uXoyMA8B0TQsjkD6gU1mQxYC4bCpfe3XpLPKdTCyMAcr/7ORheU9oPSUdIErIe2Dnv6AkHo9XtN+OLSytjwUP80Dl/QXtHeGOqUDKkBu3sH2+2BrlWSGdrc2cc5n6HGA0P9U6wgwmbpuiMxqzzsC9sBinnTlL+7cwa6OnzJ28X7oFjBV+GS7MRYosW5xvD8ylHBI/0ptLEd9CeCsxj2rUkOouN65pUIamVRgBBlOC5CQB4Hx1nJdwjlpcuhMW/zqlp2PkMivC92yt1hkOKx06NvG/lHGWJpSHI6YAabPl0ynZ6hMOVrkLkUJMD6noifKtsnB6FEr1aUYxQAAAAASUVORK5CYII=' $abBinary[3] = 'iVBORw0KGgoAAAANSUhEUgAAABEAAAAYCAYAAAAcYhYyAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAB8UlEQVR4nJ2VO0sDQRDHZ82ComgjgmDt42MoJIWCRUQ9ENQkooj4SCM+sBMRrHyAqIEYFQJRSQpBCwX9GGJvpY0omsTLnTOXOVkvr4sLk90Zdn73n8ntnjQBzLu7h22ft3sRcE2Gw4AqhqQfr7c7fH1zK/t6fcvo5oQQ3zgbRHMNEbjXFGI2mbqqHfD3r2DoCy2LsJwbkLQXDJq8uEx5hgb9pEigZdyApOowKJQ4TwpteGCZwxVB0hlgUBDOk+AWVAD5D6gopFpQSUg1oLIQt6CKkCKgJci/2Rm0nGuICtIANhhioBrriJSFYFKxcANalpXoBCuAUGLL0yO8tnda/s7O/n14YWaLE9JoHq6AZkFDOgGRo2jqpaPLT/K5hJ4wwCY//Yvtm/tB5ZhSBUSjJxdTofHIJIBfhe/uHSzOz02v4fId7QPtk6HWlSFtQDyeOJsY0Q5JZix2lsCYpqjxzQOssoI0m27fOxJbV4dzI4xozdw0MxgYXQ8AaI52Ce6DyQp+Ly7JTpYl6lxrFne2oYJn2hQ7Po1AcIySaxj2Z0hOor/rjZ9EUL0mn9CK1oSAOk7OsZK/EKrLvg6VuMFPtWXXMyTNfTEKzg6DTF5bM/qGUn+GIboNcZYDarLq0yGzy1MUFnwNyr/2ebB9TkSpm+0HrLkx734NdV8AAAAASUVORK5CYII=' $abBinary[4] = 'iVBORw0KGgoAAAANSUhEUgAAABEAAAAYCAYAAAAcYhYyAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAB40lEQVR4nJ2Vzy9DQRDHZ3UTDeHiIvHPVOiBxOEJ3kGoVoiI4iJ+xE1E4iQkgoaqRqRIe5BwaIR/xh8ghLbee2umZmW1Va82me7OxHz2O9vOkKBA5e8fd8K9oSUA9NBwedDAkvQR7gkt3t7lZX9feAVdVwjxgbtHNN8QJRQIJeayuZvmQWtgFUPvaCWEuX5AUh8YNHV1nQsMD1mkSKAV/YCk6TAolrnMCntkcIXDf4JkZYBBUQSBX1AV5D+gmpBGQb9CGgHVhfgF/QmpAVqGr192Ec31DTFBeNxkiIdqyi1SF4JJtcKtaCVW4hCsCkKJdKteO7v7D4sLs9ucUEALcAW0C1qyEnCUOMnhbhGIS+iGBdji29/ZqEHpPagcJU3AcTJ1NTkdScAUWCZ8d+9gaT4+s47HF7RXtDeGlkeG1IDzi0x6NGYfksxkKp3BmG2oCUMc1lhBgc3Rc0dirwZxbxsFu4MfTUUnxjYgAnblc/E7KFbwPbgkOyWW6HCtJU9AFyp4oj9Knp4lojBOyU0M+7EkJ9HX9cw3EdRpogQBnXhuR0CQk11W8hNCdelxaMQ9vlXLbmFIgd/Fq+odBik+l3f0PaP+IkMcDaksB8xk06cm0+UZCqv+G9QfBV9g3Sfit8n2CSm6NFYxWCiCAAAAAElFTkSuQmCC' For $i = 0 To 4 $abBinary[$i] = Binary(_Base64Decode($abBinary[$i])) Next Return 1 EndFunc ;==>_SetCursorBinary Func _Base64Decode($sB64String) Local $struct = DllStructCreate("int") Local $a_Call = DllCall("Crypt32.dll", "int", "CryptStringToBinary", "str", $sB64String, "int", 0, "int", 1, "ptr", 0, "ptr", DllStructGetPtr($struct, 1), "ptr", 0, "ptr", 0) If @error Or Not $a_Call[0] Then Return SetError(1, 0, "") Local $a = DllStructCreate("byte[" & DllStructGetData($struct, 1) & "]") $a_Call = DllCall("Crypt32.dll", "int", "CryptStringToBinary", "str", $sB64String, "int", 0, "int", 1, "ptr", DllStructGetPtr($a), "ptr", DllStructGetPtr($struct, 1), "ptr", 0, "ptr", 0) If @error Or Not $a_Call[0] Then Return SetError(2, 0, "") Return DllStructGetData($a, 1) EndFunc ;==>_Base64Decode #EndRegion ### Base64 Strings ###1 point -
GuiCtrlPicButton Simulate Reaction A simple example for simulate reaction of buttons created with GUICtrlCreatePic who by default don't react when are pressed or when mouse is over ( and also for avoid the use of big multi dimensional arrays as i already done by the past ) If you want to create your own buttons as those i have used in script try chimply.com website, it's free ! example 1 GuiCtrlPicButton_SimulateReaction+Files.au3 example 2 Digicode 1.0.0.1.au3 Buttons are included in script. Hope it can help !1 point
-
You're splitting the line with @CR, yet in Windows line endings use @CRLF so you have to change your StringSplit function parameters. #include <StringConstants.au3> #include <Array.au3> Global $i, $dick, $avArray[10] $fileActivate = WinGetTitle("[CLASS:SciTEWindow]") $f1 = StringSplit($fileActivate, "\") $n = UBound($f1) - 1 $f2 = StringSplit($f1[$n], "-") ConsoleWrite($fileActivate & @CRLF) $n = UBound($f2) - 1 $file = FileOpen(@WorkingDir & "\" & $f2[$n - 1]) $read = FileRead($file) $array = StringSplit($read, @CRLF, $STR_ENTIRESPLIT ) ; <<<<<<<<<<<<<<<<<<<<<<<<<<<< GUICreate("Test", 700, 100) $aInput = GUICtrlCreateInput("", 5, 5, 690, 20) ; $alable = GUICtrlCreateLabel("", 5, 30, 690, 20) ; GUICtrlCreateLabel("Note: First iteration both input and lable show data but label does not show data fully there after.", 5, 55, 690, 20) GUISetState(@SW_SHOW) While $i <> 6 $i = $i + 1 GUICtrlSetData($aInput, "") GUICtrlSetData($alable, "") Sleep(1000) GUICtrlSetData($aInput, $array[$i]) GUICtrlSetData($alable, $array[$i]) Sleep(2000) WEnd FileClose($file)1 point
-
how to monitor (in console) the processing time of each line of my scripts?
Shrapnel reacted to gruntydatsun for a topic
yo dawg i heard you like scripts... you can script a script to interleave the console writes in your script that would be a nice tool to add to scite in the same way TOOLS > TRACE: ADD TRACE LINES works.1 point -
Welcome to the forum. I see your new and I can understand you missed the forum rules on the way in. Please review the Forum rules concerning game automation.1 point
-
same conclusion: you may want to start using msgbox to check your commands as the errors tend to stand out when you see the whole string $streamname = "THISSTREAM" ;your result msgbox(0 , '' , '"cd c:\program files (x86)\livestreamer&&livestreamer.exe -url twitch.tv/"$streamname" best"') ;what i guess you want msgbox(0 , '' , "cd c:\program files (x86)\livestreamer\livestreamer.exe -url twitch.tv/" & $streamname & " best")1 point
-
Try this line instead: RunWait(@ComSpec & ' /k "C:\program files (x86)\livestreamer\livestreamer.exe" -url twitch.tv/' & $streamname & ' best') Br, UEZ1 point
-
Translating Batch into AUTOIT
Stimorol reacted to JLogan3o13 for a topic
"It doesn't work" doesn't help us a lot. What error are you seeing when you run your code? Edit: Try changing this: RunWait(@ComSpec & ' /k ' & "cd c:\program files (x86)\livestreamer&&livestreamer.exe -url twitch.tv/"$streamname" best") To this: RunWait(@ComSpec & ' /k ' & "cd c:\program files (x86)\livestreamer&&livestreamer.exe -url twitch.tv/" & $streamname & " best")1 point -
create a list item only once inside a while loop ?
Alexxander reacted to mLipok for a topic
Here you have an example (untested) idea: $aPC = StringRegExp($TCPRecv, "PC\d{3}\:", 3) If IsArray($aPC) = 1 Then $sPC = $aPC[0] $vIndex = _GUICtrlListView_FindText($Mainlist, $sPC) If $vIndex <> -1 Then _GUICtrlListView_SetItemText($Mainlist, $vIndex, StringTrimLeft($TCPRecv, StringLen($sPC)), 1 Else _GUICtrlListView_AddItem($Mainlist, $sPC) _GUICtrlListView_AddSubItem($Mainlist, $vIndex, StringTrimLeft($TCPRecv, StringLen($sPC)), 1) EndIf EndIf1 point -
Suggestion in manupulating registry
expertD reacted to JLogan3o13 for a topic
expertD, it probably would have taken you less time to try it yourself than it did to create the post... RegWrite("HKCU\Test", "Binary", "REG_BINARY", "I am Binary") RegWrite("HKCU\Test", "DWORD", "REG_DWORD", 42) RegWrite("HKCU\Test", "String", "REG_SZ", "I am a string")1 point -
Because one line is shorter than calling a multi-line function from a single line, because you still have the multi-line function in your script. So, if you think 10 lines is shorter than 1 line then you and I have different opinions of what shorter means.1 point