Jump to content

All Activity

This stream auto-updates

  1. Past hour
  2. Today
  3. Dear UEZ, Thanks a lot man, i appreciate and i'm very thankful accept my respect and my greetings Last code what i'm expecting from you & is excellent...
  4. Yes just hide the window, or do not show them at all.
  5. Is there any way to set incognito mode of webview2 ?
  6. Try this: ;Coded by UEZ build 2025-09-06 #include <GDIPlus.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <WinAPIConstants.au3> #include <WinAPISysWin.au3> _GDIPlus_Startup() Global Const $STM_SETIMAGE = 0x0172, $SC_DRAGMOVE = 0xF012 Global Const $iW = 300, $iH = $iW Global $hGUI = GUICreate("GDI+ Ring Progressbar", $iW, $iH, -1, -1, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_LAYERED)) GUISetState() Global $aInterpolations[4][2] ;define the interpolated colors and positions $aInterpolations[0][0] = 3 $aInterpolations[1][0] = 0xFF800000 ;Red $aInterpolations[1][1] = 0 $aInterpolations[2][0] = 0xFFFF6700 ;Orange $aInterpolations[2][1] = 0.5 $aInterpolations[3][0] = 0xFFFFFF00 ;Yellow $aInterpolations[3][1] = 1.0 Global $fPerc = 0, $iSleep = 30 GUIRegisterMsg($WM_TIMER, "PlayAnim") DllCall("user32.dll", "int", "SetTimer", "hwnd", $hGUI, "int", 0, "int", $iSleep, "int", 0) GUIRegisterMsg($WM_LBUTTONDOWN, "WM_LBUTTONDOWN") Do Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIRegisterMsg($WM_TIMER, "") GUIRegisterMsg($WM_LBUTTONDOWN, "") _GDIPlus_Shutdown() GUIDelete() Exit EndSwitch Until False Func PlayAnim() _GDIPlus_RingProgressbar($fPerc, $iW) $fPerc += 0.33333 If $fPerc > 100 Then $fPerc = 0 EndFunc ;==>PlayAnim Func _GDIPlus_RingProgressbar($fPerc, $iSize = 300, $sText = "Please wait...") Local Const $hBitmap = _GDIPlus_BitmapCreateFromScan0($iSize, $iSize) Local Const $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap) _GDIPlus_GraphicsSetPixelOffsetMode($hCtxt, $GDIP_PIXELOFFSETMODE_HIGHQUALITY) _GDIPlus_GraphicsSetSmoothingMode($hCtxt, 2) If $fPerc < 0 Then $fPerc = 0 If $fPerc > 100 Then $fPerc = 100 Local Const $hPath = _GDIPlus_PathCreate(), _ $fRadius = $iSize / 1.5, $iX = ($iSize - $fRadius) / 2, $iY = ($iSize - $fRadius) / 2, _ $fDX = $iSize / 10, $fAngel = $fPerc * 3.6, $fSize = $iSize / 15 Local Const $hBrush = _GDIPlus_LineBrushCreate($iX, $fDX + $iY, $fRadius, $fRadius, 0, 0, 1) Local Const $hMatrix = _GDIPlus_MatrixCreate() _GDIPlus_MatrixTranslate($hMatrix, $fRadius, $fRadius) _GDIPlus_MatrixRotate($hMatrix, -35, False) _GDIPlus_LineBrushMultiplyTransform($hBrush, $hMatrix, False) _GDIPlus_LineBrushSetPresetBlend($hBrush, $aInterpolations) _GDIPlus_MatrixDispose($hMatrix) Local Const $hPen = _GDIPlus_PenCreate2($hBrush, $fSize) _GDIPlus_PathAddArc($hPath, $iX, $fDX + $iY, $fRadius, $fRadius, -90, $fAngel) _GDIPlus_GraphicsDrawPath($hCtxt, $hPath, $hPen) _GDIPlus_PathReset($hPath) Local Const $hFamily = _GDIPlus_FontFamilyCreate("Verdana") Local Const $hFormat = _GDIPlus_StringFormatCreate() Local Const $tLayout = _GDIPlus_RectFCreate(0, $iSize / 12, $iSize, 0) Local Const $tLayout2 = _GDIPlus_RectFCreate(0, ($iSize + $iSize / 18) / 2, $iSize, 0) _GDIPlus_StringFormatSetAlign($hFormat, 1) Local Const $hBrush2 = _GDIPlus_BrushCreateSolid(0xF0FFFFFF) _GDIPlus_PenSetColor($hPen, 0xF0404040) _GDIPlus_PenSetWidth($hPen, $iSize / 100) _GDIPlus_PenSetLineJoin($hPen, 2) _GDIPlus_PathAddString($hPath, $sText, $tLayout, $hFamily, 0, $iSize / 12, $hFormat) _GDIPlus_PathAddString($hPath, StringFormat("%02d%", $fPerc), $tLayout2, $hFamily, 0, $iSize / 9, $hFormat) _GDIPlus_GraphicsDrawPath($hCtxt, $hPath, $hPen) _GDIPlus_GraphicsFillPath($hCtxt, $hPath, $hBrush2) _GDIPlus_FontFamilyDispose($hFamily) _GDIPlus_StringFormatDispose($hFormat) _GDIPlus_PenDispose($hPen) _GDIPlus_BrushDispose($hBrush) _GDIPlus_BrushDispose($hBrush2) _GDIPlus_PathDispose($hPath) Local $hHBmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap) _WinAPI_BitmapDisplayTransparentInGUI($hHBmp, $hGUI) _GDIPlus_BitmapDispose($hBitmap) _WinAPI_DeleteObject($hHBmp) EndFunc ;==>_GDIPlus_RingProgressbar Func _WinAPI_BitmapDisplayTransparentInGUI(ByRef $hHBitmap, ByRef $hGUI, $iOpacity = 0xFF, $iFlags = $ULW_ALPHA, $bReleaseGDI = True, $tDest = Null, $iBGR = 0) If Not BitAND(GUIGetStyle($hGUI)[1], $WS_EX_LAYERED) = $WS_EX_LAYERED Then Return SetError(1, 0, 0) Local $tDim = DllStructCreate($tagBITMAP) If Not _WinAPI_GetObject($hHBitmap, DllStructGetSize($tDim), DllStructGetPtr($tDim)) Then Return SetError(2, 0, 0) Local $tSize = DllStructCreate($tagSIZE), $tSource = DllStructCreate($tagPOINT), $tBlend = DllStructCreate($tagBLENDFUNCTION) Local Const $hScrDC = _WinAPI_GetDC(0), $hMemDC = _WinAPI_CreateCompatibleDC($hScrDC), $hOld = _WinAPI_SelectObject($hMemDC, $hHBitmap) $tSize.X = $tDim.bmWidth $tSize.Y = $tDim.bmHeight $tBlend.Alpha = $iOpacity $tBlend.Format = 1 _WinAPI_UpdateLayeredWindow($hGUI, $hScrDC, $tDest, $tSize, $hMemDC, $tSource, $iBGR, $tBlend, $iFlags) _WinAPI_ReleaseDC(0, $hScrDC) _WinAPI_SelectObject($hMemDC, $hOld) _WinAPI_DeleteDC($hMemDC) If $bReleaseGDI Then _WinAPI_DeleteObject($hHBitmap) Return True EndFunc ;==>_WinAPI_BitmapDisplayTransparentInGUI Func WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam) _SendMessage($hGUI, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0) EndFunc ;==>WM_LBUTTONDOWN
  7. The animation examples are not optimized for speed rather proof-of-concept versions. To speed up you can do some optimization, e.g. what you wrote or not to create the texture every time as it is static or calling GDI+ functions directly or ... There are also plenty of examples how to show the progress in a transparent GUI.
  8. Excellent work, one more requst please : i need transparent background instead of black one if could be without distubing smooth edges and gradient colours Thanks in advance
  9. @UEZ Hi Great script indeed. I would like to ask a question concerning the function _GDIPlus_RingProgressbar() . Here are a few lines found in it : Func _GDIPlus_RingProgressbar(...) Local Const $hBmp = _GDIPlus_BitmapCreateFromMemory(_Background_Texture()) Local Const $hTexture = _GDIPlus_TextureCreate($hBmp) _GDIPlus_BitmapDispose($hBmp) ... _GDIPlus_BrushDispose($hTexture) ... EndFunc If not mistaken, this function _GDIPlus_RingProgressbar() is called hundred of times in the script, which means that _GDIPlus_BitmapCreateFromMemory(_Background_Texture()) and _GDIPlus_TextureCreate() are called hundred of times too. I tried to call these 2 functions only once, like this : Func _GDIPlus_RingProgressbar(...) Local Static $hBmp = _GDIPlus_BitmapCreateFromMemory(_Background_Texture()) Local Static $hTexture = _GDIPlus_TextureCreate($hBmp) ; _GDIPlus_BitmapDispose($hBmp) ... ; _GDIPlus_BrushDispose($hTexture) ... EndFunc It works fine, but now, where to dispose $hBmp and $hTexture when the script ends ? Maybe it is the reason why you preferred to call the 2 functions hundred of times and dispose the bitmap & the brush in an easy way ? Thanks for reading
  10. Yesterday
  11. Play with the colors, angle and translations: ;AutoIt v3.3.9.21 or higher needed! ;coded by UEZ build 2013-10-13 #include <GDIPlus.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> _GDIPlus_Startup() Global Const $STM_SETIMAGE = 0x0172 Global Const $iW = 300, $iH = 300 Global Const $hGUI = GUICreate("GDI+ Ring Progressbar", $iW, $iH, -1, -1, $WS_POPUPWINDOW, $WS_EX_TOPMOST) GUISetBkColor(0) Global Const $iPic = GUICtrlCreatePic("", 0, 0, $iW, $iH) ;~ GUICtrlSetState(-1, $GUI_DISABLE) GUISetState() Global $hHBmp_BG, $hB, $fPerc, $iSleep = 60 GUIRegisterMsg($WM_TIMER, "PlayAnim") DllCall("user32.dll", "int", "SetTimer", "hwnd", $hGUI, "int", 0, "int", $iSleep, "int", 0) Do Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIRegisterMsg($WM_TIMER, "") _WinAPI_DeleteObject($hHBmp_BG) _GDIPlus_Shutdown() GUIDelete() Exit EndSwitch Until False Func PlayAnim() $hHBmp_BG = _GDIPlus_RingProgressbar($fPerc) $hB = GUICtrlSendMsg($iPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBmp_BG) If $hB Then _WinAPI_DeleteObject($hB) _WinAPI_DeleteObject($hHBmp_BG) $fPerc += 0.33333 If $fPerc > 100 Then $fPerc = 0 EndFunc ;==>PlayAnim Func _GDIPlus_RingProgressbar($fPerc, $iSize = 300, $sText = "Please wait...") Local Const $hBmp = _GDIPlus_BitmapCreateFromMemory(_Background_Texture()) Local Const $hTexture = _GDIPlus_TextureCreate($hBmp) _GDIPlus_BitmapDispose($hBmp) Local Const $hBitmap = _GDIPlus_BitmapCreateFromScan0($iSize, $iSize) Local Const $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap) _GDIPlus_GraphicsSetPixelOffsetMode($hCtxt, $GDIP_PIXELOFFSETMODE_HIGHQUALITY) _GDIPlus_GraphicsSetSmoothingMode($hCtxt, 2) _GDIPlus_GraphicsFillRect($hCtxt, 0, 0, $iSize, $iSize, $hTexture) If $fPerc < 0 Then $fPerc = 0 If $fPerc > 100 Then $fPerc = 100 Local Const $hPath = _GDIPlus_PathCreate(), $hPath2 = _GDIPlus_PathCreate(), _ $fRadius = $iSize / 1.5, $iX = ($iSize - $fRadius) / 2, $iY = ($iSize - $fRadius) / 2, _ $fDX = $iSize / 10, $fAngel = $fPerc * 360 / 100, $fSize = $iSize / 15 _GDIPlus_PathAddEllipse($hPath, $iX, $fDX + $iY, $fRadius, $fRadius) Local $hBrush = _GDIPlus_LineBrushCreate($iX, $fDX + $iY, $fRadius, $fRadius, 0, 0, 1) Local $aInterpolations[4][2] ;define the interpolated colors and positions $aInterpolations[0][0] = 3 $aInterpolations[1][0] = 0xFF800000 ;Red $aInterpolations[1][1] = 0 $aInterpolations[2][0] = 0xFFFF6700 ;Orange $aInterpolations[2][1] = 0.5 $aInterpolations[3][0] = 0xFFFFFF00 ;Yellow $aInterpolations[3][1] = 1.0 $hMatrix = _GDIPlus_MatrixCreate() _GDIPlus_MatrixTranslate($hMatrix, $fRadius, $fRadius) _GDIPlus_MatrixRotate($hMatrix, -35, False) _GDIPlus_LineBrushMultiplyTransform($hBrush, $hMatrix, False) _GDIPlus_LineBrushSetPresetBlend($hBrush, $aInterpolations) _GDIPlus_MatrixDispose($hMatrix) Local Const $hPen = _GDIPlus_PenCreate2($hBrush, $fSize) _GDIPlus_GraphicsDrawPath($hCtxt, $hPath, $hPen) _GDIPlus_PathReset($hPath) Local Const $hPen2 = _GDIPlus_PenCreate2($hTexture, $fSize + 4) _GDIPlus_PathAddArc($hPath, $iX, $fDX + $iY, $fRadius, $fRadius, -90, $fAngel) _GDIPlus_GraphicsDrawPath($hCtxt, $hPath, $hPen2) _GDIPlus_PathReset($hPath) Local Const $hFamily = _GDIPlus_FontFamilyCreate("Verdana") Local Const $hFormat = _GDIPlus_StringFormatCreate() Local Const $tLayout = _GDIPlus_RectFCreate(0, $iSize / 12, $iSize, 0) Local Const $tLayout2 = _GDIPlus_RectFCreate(0, ($iSize + $iSize / 18) / 2, $iSize, 0) _GDIPlus_StringFormatSetAlign($hFormat, 1) Local Const $hBrush2 = _GDIPlus_BrushCreateSolid(0xE0FFFFFF) _GDIPlus_PenSetColor($hPen, 0x80000000) _GDIPlus_PenSetWidth($hPen, 4) _GDIPlus_PathAddString($hPath, $sText, $tLayout, $hFamily, 0, $iSize / 12, $hFormat) _GDIPlus_PathAddString($hPath, StringFormat("%02d%", $fPerc), $tLayout2, $hFamily, 0, $iSize / 9, $hFormat) _GDIPlus_GraphicsDrawPath($hCtxt, $hPath, $hPen) _GDIPlus_GraphicsFillPath($hCtxt, $hPath, $hBrush2) _GDIPlus_FontFamilyDispose($hFamily) _GDIPlus_StringFormatDispose($hFormat) _GDIPlus_PenDispose($hPen) _GDIPlus_PenDispose($hPen2) _GDIPlus_BrushDispose($hBrush) _GDIPlus_BrushDispose($hBrush2) _GDIPlus_BrushDispose($hTexture) _GDIPlus_PathDispose($hPath) _GDIPlus_PathDispose($hPath2) _GDIPlus_GraphicsDispose($hCtxt) Local Const $hHBmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap) _GDIPlus_BitmapDispose($hBitmap) Return $hHBmp EndFunc ;Code below was generated by: 'File to Base64 String' Code Generator v1.12 Build 2013-05-17 Func _Background_Texture($bSaveBinary = False, $sSavePath = @ScriptDir) Local $Background_Texture $Background_Texture &= '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' $Background_Texture &= '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' $Background_Texture &= 'LqJobIo4JZqpr7oKoaqqb4LZJIZYoJqZYIbKZpJ4b6IoKpJ67YIIIYJoK6poZL5aIIYLKa7LrqKpoppJI4IbJLqYaYKZZY4pJoIpaboZJIIIqY46LIoLK4oYLYbLIpqaZrroa54I6oIZ4rppKbJ4L6YJ45KKY7Y7ob465opoIo4IKIbqaJYoaII67oaYLoIZYK5IKY55a6a7Y44oZbppIppbpIbIIbYY75bI4a5LoL57K6bLZZL46p76ZaI5JoLbYYY54La5ZpoJIYY7bY4ao5pZ5qY4rqYZLJ4K4oJKL6KIZIYJJqKIqo6raLrKK6qIJrKKrb5YILooI6ZLraZ6p6o4oYpaa6ZYK5L46baI4IK6bL6pYKIor67r6p4bqZoJpI5qIIab7YJoKJKr5YL5abo7r4ZLIaZIYqKKI4ILq4LIJaK6qpoIJ6o7KpZJaaJarLL4KYoIro4qKq4a5pLoJJYpIqo5YLroLJKqaYI4a7JKppZ5L5qqqYb4L4J54KKJ4J4J6J5754IKKKL7/8QAFBEBAAAAAAAAAAAAAAAAAAAAkP/aAAgBAwEBPxAEf//EABQRAQAAAAAAAAAAAAAAAAAAAJD/2gAIAQIBAT8QBH//xAAmEAEAAgICAgICAwEBAQAAAAABABEhMUFRYXGBkaHBseHw0fEQ/9oACAEBAAE/ENccQo86f4mbL6mRvqLPOu4/jnMeC9TYXg/Uuxl08+5ajS/cM1/u4FDTG7OcTgvziCptheG2ODcBnDzHS7jgDe+o1e+aiKbWniLbbcArLzAWXd3Hkv4gLmKy4d7qVRc7jQ4vzF/PuKHH5mTYO+4vSvmbMoIMMk/cu8kZ7/qeRuIDz4zE6cym+YlbNzfcrIRyNavqYspdVueF6/Uugymjf3FC5Y/9BFAtPnzMnQ/hLPEd+0yrgFefygrdLBuZvI66gYqnTNKqmnFSmkzebq4NcbRFEaM7RF7dytOXcUXOAz5hus7jVPhio/uKC7q4inZqCl0z1GrZ2NRQW/4mIU/8S8NXvqYvvZ/DDeF+pRe+Y152wGlyi8uZa2ZlU531CkbxMK7+UQIcVW4JteDH1FLzeu42F/OYgfNRw9y8Dx+5dOFcbgXodP7iU/uOZv1Cz6Q03NM39QoYvPiJWxwSjgvHiGeW+I2k1N7lr3uW05ZbjeHcyvcNtuYpXPiLXbHDBu/9xFhofdyj7JeHDvv3Gj7dxHB3mNIYEG76ig8Oz9wBtfqAQL+pYu9RcB53LLd77ilO5Y3d1c9jTKKmY4ZdQsudOvEU+kWjl+o1bbaLgy/Uq6rr9yredQA88xp5YJWG9QAtdQC+cwHmVgpiyYXUz2uVb6iLlZBjKxGudzAjR2/9lPbvmLTX8RHOHcbLKZk1C5sYGht5gNOGW8/Uppd76nRfqD+XcH7EKVuA5NxSzf3EUVFtxe+5ZnC5l7aTMXOFw7mzS3cHGnXcpb1HNHdRQY818Zi2eo02cE59G/ZEEbv/ABEpwxDhddQHJ11AXVv1OeddRx3qADPJKp2zZfDEoPPULXy8RvF3tlNt39SnN2vULN3uXS1Fw28xbML+ouedzTmvMLO25XmUWxo13uNDNw3Ld9xdvfcUC7u+GZed3NqLz5jZKWvcM+d8sbH85mL533/UwLphQ877gY51ALb+I78KgtK4fqZtq8RaczJWWo3WTXfqabc+YjV21FR8B/EOfDqG6VYOQviOy11tIKHLpmF531DNvfUa8tvEUMLvqOm8vURDVsM3Q7OIFMXuKopbXh7hJm79zJ5rzBVV8RWbYc5d4itt4zK976ibrhgN0WX0WW7dw3lI2B+E527htzOVLMW55mRnuaed9QduMvENDo6/qPL9kpoJjX+Ilrh+/wCogGL+/wCoVWuDn1DD6d+pp1+YLdP3EpLvX6hzlqBaYcTlr5iX3jqWvnTBHKrgNvl6hQq+cQ8r3qIgWu/+TPbviA2pdn7hdZvcBp2HqDNHnGYlKq/cC+99ytVniCh3' $Background_Texture &= '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' $Background_Texture &= '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' $Background_Texture &= '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' $Background_Texture &= 'LDtyT0/mXl/5NOLjdHdfuZrUd46l0feIgZuiLJ89Qb51eMRqmGGruU5O9yhvUKrEpXe63MNc5bmK037iLdxC+dvMA8yir0Mo4v7l2l8icq5RyzfLAUVy7lXdNoHR3FLbHcTJj8xC+YOdfn+pyYf98QbtraVYVydwr52wOzANnUwsKh48QC8GMo9H+4lHwf7iDN8DnxKVMZEt2lr0/UpvT9SsUvXEprN66lZcOonQ/UD1x15mJ95ue7fUVW3wTTznxMlls49wnfjNTFb4Sr3Xcep2fuBaBecTqu5tQcssFX+Iq+94lafklLtV9TkZs8QqlXvVQz23yQPJMwdYuIplY3yd6iW4WJStWZay1+pVZvHqBhWMv6iZ5q4VWenmNGm/XqGRd7ceIE4zviU8moJZX8zbnT+CYsPGczQwUYOeY88/5l1M3p0Rb1cMmBgdGY7b3UwMXPC4c7C55t2cSlv4JR33EKp317hYr0lH3EtyOWX4/ECnszBo14l28My8Smhy5mHkSoZCu5Xl+5k/NxS/LzGqMc4zMXj+YUtMRWLvUKcL28+o4ZvcWM6Gs/1FpSOtXCrOxz49Rl86efEoOmqggmHB3/U326P4g0FLqGWFH3FbL9y17ddxRmrw/cFQoXG43bDqLjNxY1TK9j5hjRhqGuZisjv/ALCYdiCVqa9hMmWy9TutIgpd76lUeXUT/wAJWhXMq+W5w9yt+WDBfc05d9R8lmm37mO37Rd5+43q/wAoIwCy1c7OGJ/Z/UHHJl59RVHZf+4izjrrx7l5d64g5tvA/wAQBvo/xFLv/FQwLG5i5qkBT0/uD1f3LKVeu5Yu2eV1j7i8zrqXlWj/AHMXG31F5/z5gY3ALq9zJ/qXvn6m/O4yfZxBJnGepSHflU5bc8RmR4fzB15eJeOHLHGj8zw6/wCoa18TxO+GXejbuWdjuDODuZGn7hnEdkSuJ6PuJdY2gJz9oBeb3AvNwCu67Qe7s4iCn0HxEA3eq3AbZ2/iFLldPEo96/UA7Sl4vSyUo3qUfzzBvlqXfx/U87/zB2Hj9xyi3USjbU9n3AKq31Ck53APqUOrgC5xBh7JgHGY/wApW3u3mVxdOZi7HMHJvD3FuFH+HMESWYOe/wCpZVN/cWsJndx6wtvcMtO5Yc8p+5zpmlKe5R4m3Nza7gAvvqL4XFfPD3BTd1uNlpOINbO1fUHZyNTXMEDcbbYT9QKKvLDGVTs4RrK8VjPiDhF8xcNhSOWXjdRpNygV0g0Z/ma7tcGOVr3CpeZQS7+5QrvD3HDl+Zk/3L3FucZhYN4e41eTJDLbvuFptw6l5ydxO0queeo5b/MKrKuYYCunME3lwwwxbX/uYtOx8TTC8xsjgthZkv3FLhYg0orS4zLTpKDamY/5cDPGnnxAyImu4jWq13GxqjHZF4X8iYC3Tsl7y2rp17lqeDw8xxb/AAQMmtdyimVn45nHe4FM+eZWC7jk4lW8biYXUSuNX3ALo3/uZRS0XFTYNwSs1cE8b3UsMK3EGzwxLyrW9RYbrcd8bi5++ai8PqZPzLVmoiEK3Loa5HHuDbZ9RtM1vqO8Vm4tjJuO8xhxx8kqgXHm/Crn/9k=' Local $bString = Binary(_Base64Decode($Background_Texture)) If $bSaveBinary Then Local $hFile = FileOpen($sSavePath & "\Dark Texture 300x300.jpg", 18) FileWrite($hFile, $bString) FileClose($hFile) EndIf Return $bString EndFunc ;==>_Background_Texture Func _Base64Decode($sB64String) Local $a_Call = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0) If @error Or Not $a_Call[0] Then Return SetError(1, 0, "") Local $a = DllStructCreate("byte[" & $a_Call[5] & "]") $a_Call = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $a, "dword*", $a_Call[5], "ptr", 0, "ptr", 0) If @error Or Not $a_Call[0] Then Return SetError(2, 0, "") Return DllStructGetData($a, 1) EndFunc ;==>_Base64Decode
  12. Thanks for your help UEZ Great work and i have this code long time ago but i ask if you can match the picture and modifying the script please here is your excellent code (please adjust to match the picture in my 1st post) I dont't know to modify the colors in this code ;AutoIt v3.3.9.21 or higher needed! ;coded by UEZ build 2013-10-13 #include <GDIPlus.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> _GDIPlus_Startup() Global Const $STM_SETIMAGE = 0x0172 Global Const $iW = 300, $iH = 300 Global Const $hGUI = GUICreate("GDI+ Ring Progressbar", $iW, $iH, -1, -1, $WS_POPUPWINDOW, $WS_EX_TOPMOST) GUISetBkColor(0) Global Const $iPic = GUICtrlCreatePic("", 0, 0, $iW, $iH) ;~ GUICtrlSetState(-1, $GUI_DISABLE) GUISetState() Global $hHBmp_BG, $hB, $fPerc, $iSleep = 60 GUIRegisterMsg($WM_TIMER, "PlayAnim") DllCall("user32.dll", "int", "SetTimer", "hwnd", $hGUI, "int", 0, "int", $iSleep, "int", 0) Do Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIRegisterMsg($WM_TIMER, "") _WinAPI_DeleteObject($hHBmp_BG) _GDIPlus_Shutdown() GUIDelete() Exit EndSwitch Until False Func PlayAnim() $hHBmp_BG = _GDIPlus_RingProgressbar($fPerc) $hB = GUICtrlSendMsg($iPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBmp_BG) If $hB Then _WinAPI_DeleteObject($hB) _WinAPI_DeleteObject($hHBmp_BG) $fPerc += 0.33333 If $fPerc > 100 Then $fPerc = 0 EndFunc ;==>PlayAnim Func _GDIPlus_RingProgressbar($fPerc, $iSize = 300, $sText = "Please wait...") Local Const $hBmp = _GDIPlus_BitmapCreateFromMemory(_Background_Texture()) Local Const $hTexture = _GDIPlus_TextureCreate($hBmp) _GDIPlus_BitmapDispose($hBmp) Local Const $hBitmap = _GDIPlus_BitmapCreateFromScan0($iSize, $iSize) Local Const $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap) _GDIPlus_GraphicsSetPixelOffsetMode($hCtxt, $GDIP_PIXELOFFSETMODE_HIGHQUALITY) _GDIPlus_GraphicsSetSmoothingMode($hCtxt, 2) _GDIPlus_GraphicsFillRect($hCtxt, 0, 0, $iSize, $iSize, $hTexture) If $fPerc < 0 Then $fPerc = 0 If $fPerc > 100 Then $fPerc = 100 Local Const $hPath = _GDIPlus_PathCreate(), $hPath2 = _GDIPlus_PathCreate(), _ $fRadius = $iSize / 1.5, $iX = ($iSize - $fRadius) / 2, $iY = ($iSize - $fRadius) / 2, _ $fDX = $iSize / 10, $fAngel = $fPerc * 360 / 100, $fSize = $iSize / 5 _GDIPlus_PathAddEllipse($hPath, $iX, $fDX + $iY, $fRadius, $fRadius) Local $aBlend[4][2] = [[3]] $aBlend[1][0] = 0x80A00000 $aBlend[1][1] = 0 ;position = boundary $aBlend[2][0] = 0xD8FF0000 $aBlend[2][1] = 0.15 ;distance boundary->center point $aBlend[3][0] = 0x04A00000 $aBlend[3][1] = 1 ;center point Local Const $hBrush = _GDIPlus_PathBrushCreateFromPath($hPath) _GDIPlus_PathBrushSetPresetBlend($hBrush, $aBlend) Local Const $hPen = _GDIPlus_PenCreate2($hBrush, $fSize) _GDIPlus_GraphicsDrawPath($hCtxt, $hPath, $hPen) _GDIPlus_PathReset($hPath) Local Const $hPen2 = _GDIPlus_PenCreate2($hTexture, $fSize + 4) _GDIPlus_PathAddArc($hPath, $iX, $fDX + $iY, $fRadius, $fRadius, -90, $fAngel) _GDIPlus_GraphicsDrawPath($hCtxt, $hPath, $hPen2) $aBlend[1][0] = 0x20FFFFFF $aBlend[1][1] = 0 ;position = boundary $aBlend[2][0] = 0x50FFFFFF $aBlend[2][1] = 0.15 ;distance boundary->center point $aBlend[3][0] = 0x20FFFFFF $aBlend[3][1] = 1 ;center point _GDIPlus_PathBrushSetPresetBlend($hBrush, $aBlend) Local Const $hPen3 = _GDIPlus_PenCreate2($hBrush, $fSize) _GDIPlus_PathAddArc($hPath2, $iX, $fDX + $iY, $fRadius, $fRadius, -90, $fAngel) _GDIPlus_GraphicsDrawPath($hCtxt, $hPath2, $hPen3) _GDIPlus_PathReset($hPath) Local Const $hFamily = _GDIPlus_FontFamilyCreate("Verdana") Local Const $hFormat = _GDIPlus_StringFormatCreate() Local Const $tLayout = _GDIPlus_RectFCreate(0, $iSize / 12, $iSize, 0) Local Const $tLayout2 = _GDIPlus_RectFCreate(0, ($iSize + $iSize / 18) / 2, $iSize, 0) _GDIPlus_StringFormatSetAlign($hFormat, 1) Local Const $hBrush2 = _GDIPlus_BrushCreateSolid(0xE0FFFFFF) _GDIPlus_PenSetColor($hPen, 0x80000000) _GDIPlus_PenSetWidth($hPen, 4) _GDIPlus_PathAddString($hPath, $sText, $tLayout, $hFamily, 0, $iSize / 12, $hFormat) _GDIPlus_PathAddString($hPath, StringFormat("%02d%", $fPerc), $tLayout2, $hFamily, 0, $iSize / 9, $hFormat) _GDIPlus_GraphicsDrawPath($hCtxt, $hPath, $hPen) _GDIPlus_GraphicsFillPath($hCtxt, $hPath, $hBrush2) _GDIPlus_FontFamilyDispose($hFamily) _GDIPlus_StringFormatDispose($hFormat) _GDIPlus_PenDispose($hPen) _GDIPlus_PenDispose($hPen2) _GDIPlus_PenDispose($hPen3) _GDIPlus_BrushDispose($hBrush) _GDIPlus_BrushDispose($hBrush2) _GDIPlus_BrushDispose($hTexture) _GDIPlus_PathDispose($hPath) _GDIPlus_PathDispose($hPath2) _GDIPlus_GraphicsDispose($hCtxt) Local Const $hHBmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap) _GDIPlus_BitmapDispose($hBitmap) Return $hHBmp EndFunc ;Code below was generated by: 'File to Base64 String' Code Generator v1.12 Build 2013-05-17 Func _Background_Texture($bSaveBinary = False, $sSavePath = @ScriptDir) Local $Background_Texture $Background_Texture &= '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' $Background_Texture &= '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' $Background_Texture &= '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' $Background_Texture &= 'ANL3n8yllXMMB3Kl421MNNupQqoAwBs0LFVdPkiZ3VMMtu5oe5T+yJ4YtBTuAF3q9yt86xBPV+oIOeHcUV/aYNfVTHTo/U4Rbgx8kDHDddS2MTN86P4hd60guqdQXg8xI5EWWvlxGnPD3FpeyUbKzzEHTFaOx/UVLq9y9uEyfuCou99y1O/uJVoouPReIZOdnMyS+/8A4PydVNIZlVbO43Tcvh3KwViHh/MC3buF94nk7/cHLl3u5kO5UX3FEgUb33PbqGHKW78OfULH0itbI3DdNGhBZYdfsmFEYmCiUqaKceILp8TJrlLE8G2FT6auYvFscHDuLTB9opeR33FEAtz36iOnL3M2jJ+41Mcww0xW8Nu4tYflEU7WnPuK03vuBXzW5ZRvxmcm99wzzyxO731KW6NMRU3uB2N8SzG7uNTn6gTZq2C0tt7mQ045URnhmxfsgqs9zR3dQ8moh54O/EowvUcsXKLN6iFIdH6gY2+HqZNU61LphPiNmtIKMD9QV6cHUZzPpHGsMRKyrR1A2tuNl4RvuWow1cMBhwzeZ/lRMYEgzZTUwGHcDWmBXB3N/KFRKQJ+5udXDb77jTlzHK1vkg91t7ja6HfcbL33KMA7f1DBiFy2/aNBqOTP0leWU4ig2nxHKl0vUPZz1A05lKav7gHLUGnmgg4a6jS8OsyrTetzAeqP1C12Uo/UBenUAeH7/qIvOjv+oBV/k/qXmn7P6hTLR3/UpfYdwoMDruOWnfcsHe+5YAJTq5mKvffqCumHl6ljp+41XdWc+5d5U4lu0sq5x5ip1zHR9nPuZxY8Rumh3LRNxOx3Aa27jdOVi5Zd9xaMuevUKrP8QB6vUs7vuB4rgF72fuUth+4pgHfcpRuCcOYtub11ALxeuvEBd51PI+/Mo9xHOqiMudQLHpOvUweiNGli554l0bZn/HUNF6RjsrVwXlRDzVfcT23q49L5lKN77hkZ51FEzc5ekrtf3Ctb+41Rh3MXVP3KU0Lk/caox9pp07/3E5D+UWcuY3mv5i5ahsxe4GGzP/Jgcy3HTmbKUVbCZ7g5Odn7i+Xfc8r3AWbv1BFLvc5auK/14gc+OJQodfuBlu5RDGKld3qAv4gKb1Eu7vXcqnPR/Exvx1AtHOolX4dRLDPBDLf4jQX5mBtl0beZYoUpS6Dt/cVV3tN3Oj9xzbbuJRml9wUhsc3XqWFbyfuP5OpWH0irKv6jZR+lSshdo7Ct3HF13LQN7/5BVzBBc7ltMQqrY7gqNDuWpw7jg0UuBabq8y3bcq3LiUFPHUop3rmBXx/cKt3mJTvGDiCXUAXN6iF3x1KW5ZS6VMdQKrMQsv8AiNWy3XJFxfjggi5v6l2J5gvw9Rwr4RyZv5hs3v8A+Nnv/wCP2iAIb1OTcpe3Tn3FO0RZvcui7+opY53MC/8AImXvqKVHBPb9QAx+Ll5NMvq7i3d3llAdxMjJKVedwsze4MN7ldjXUThwdTi86g0i3/MEvm45cddShefEAcNxG/XcTsxEXzruUA3kiZN3REXi4iuddSllXK5HMcmncrx9o2DDuDOR2Tv27l9MXRt7lqwu+5bhfcSxSywbdlS3JyxEG18IeHuLJj8QAuHcXoaijvcNfb/kteYu0y77lpku5m8Lu41vKuP3E5z9SqM39QM476/+Cs7wdylYGq7jXBhVrv78xF8zFtWfMr5Sl6fu5hNXr9R7Fysu4mDepWTOhHat3GxjqZAcvuaZXxLGS7lN4USinlCi5dnEsbMtb2RMNtZlwze5y39wuzLvqChi+9zLdurit6cMvZI8YzMNtO444X3HKq5zmLDGbf1Lt0x2Wc6itMc6uGXmZvOyJZyxsUXuUWb3BoLe+4cqdYxHXeup/BKp/wDPMCjDxFy5zXUcBmHLnUrtvp4hj/eo0OY0BvUwnDo58Sg867mDlruGRdxcbd9zZvdRLOfuVjT9Q2jxP4idNjuUty7gUb31C6ZdzPDZ6mF/4QoFLvcTO25dZP0g' $Background_Texture &= '9+sBkuG7Y/58xyy7QoYYZvt3/wDAiYvDmXnmbG9lwCQzQfxCndQuU7s4l28nzGkDsjr4lnb/ADP/ADKy2Oic848Qd1MjRxEXR1EbLPmVZ6cfMRvnJEz4rqaZ6Jtzr9RVUqNsDaPYX4iNYX1Epwxw0wZ5mzDKVbDeHmYWnLBHHluoZM39RRcXvqGKX9kD/EsRu9xHnmKWq8ssPmWb9zyX9R1obuXn2jDgdkWzJzxBcHcHDj8wcc77hU7av8II/KLU711CuV04jR8TllcH6j5s9qBnDpn/AFwM7VHLK/UrFFMf9jvL+Iinh1EKy8dRDJaK6nhE/ncd/wBR9oM+vERBfMQLX+ZWXcpRvcFXl2zy+oLT5hhWfqVT89T2x6j7FQFZU+IMbf75iBmfh/c4bX1Azy4eplr8IiLtPCfYdpdL39MbW5kG9HtKR/SYvKtHhiFq9PE0N6ihsfhKAzlyVK43ozKHDGib1A3n8wsfDEr5v4gZgmytfv3LCV9ktpX2RVmX3FcmKU3MkJffeoonNrBLe+SY4O+4h/6gVfGagC7a6qCfaETlEeoFKtgAGYlN+ev7lFY/iIvcAWrfmJ8t5jb2TTf4gL73qUf+JQ2N5shR+eoacvJMmz6hO7+X7gU2/Upfe+ovLUVOsV37m51GzI6nQdEoauWgu/qYzuCYB7ljjev1OW7+JgHhnMLBVyqTLKsZdbimlvjMtrNxaTe+54P5i4Wd9eoOXzBztuLjPcXLWM7mcZdwttnfc3LvcV8GdwXFNri5TOH/ALOOeM3/AL/MbvO4Leki8MEurBhyY/MHL+Jfl9x8bz34ltuGaCncd4OYrv57mnBxBw+4c6eYGgDrqYAPwja40EzzaP1M/wBkc5qWg3BWGHUoFjTvxALpiAm9TAH/AGIWWcdyujVdRKS/5ga5+4vO3McNu4tHe3n1MBy/cG0u9zFe/EvKZlgF25ldnceC3FzCAEu35mR+YizcMsfdxaF3lmSbzcvDls/cG1ynO61Hsu/1LqB/OC1ruG/+EGMHZ+4MsOyCn0Y4y/iUBmJavg4lcupVFtfU425nCW9mYON8dy0WlMRXtF7Oori11OQt/wDEvH1v4jvazg9/8i2ruripeXc0+Xn1BxzVwSl7MG3UU3wzLtM3mJzW4KTLvqcW2QyLWLS0scZy7CIDz9R4rU0ZrPcSuV93LocvuKtt77lobZe5mttw/JC62oyr5R2wjJxDTlhP3AzLd/8AYZ5twxLxeu4UBmK21d1u/Uy30S2uZbRh13Lpd1Uw4uvKNFu7llG/qCk3iFQY+BCqXw/UxhUIXrCFNFv+EQZK5jhQvHmOi12/qGTN1ALwdwC9MKtq79zAWeWZtnl3D23BUKv7hYIyc7iWcbdRW9pTW25sX9E7B9VEo3TP/Y22I/ccsIULDvUEhvcFwDubO9zb+4UGr+4e24M6dMXNeNQyJWHd+5zzqVnkuUJ59Sxq8ynbUaVl+oVW4xW3X6gCGYypXUGtG/UWzSQM3/L1PliG2unEoKdtv1Dis3e6hltVXAxvUTe6i6pdwVedxbr8INA2vzDKm8QF213UoF8xRcXhiWHmBR5+JauZaud4iIrncybb79TTlbLdbcsSNO5aDV3LDtuF02NQMOW+5pnplDtqcGHXcuh24OfJFztr9Qy29XBeD9zbdfmChp1MNjfULR3r9zNbddyntgNlvENNtv8AyIU0v1Fzk5/4i5u9ojk/ETCFczDK3MyVncrsyjeY2LLgBs7gA8wK7r1LXzA235im6vDEc0rmVg39zh7jqo/ixzd98w3ldZhkfLzOt7yTJ23qX3cKdWW9Sq5XfExT3cCgw6SJ7+pRRYwM71X7Ji83dfqc88wKOH4lay+oGcDrERtLVAdzX7I3sJiVnXvE5sHUFWy9ajYcspvBf+ZTfa5mFrtioGWchd9zPa/lDhc9uY3Ofhixy5tuDTiWVp3DeRw7uC3nHUcfLmEtKvwgLVjuDRHcprneojRzF83e4mm6' $Background_Texture &= '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' $Background_Texture &= 'LDtyT0/mXl/5NOLjdHdfuZrUd46l0feIgZuiLJ89Qb51eMRqmGGruU5O9yhvUKrEpXe63MNc5bmK037iLdxC+dvMA8yir0Mo4v7l2l8icq5RyzfLAUVy7lXdNoHR3FLbHcTJj8xC+YOdfn+pyYf98QbtraVYVydwr52wOzANnUwsKh48QC8GMo9H+4lHwf7iDN8DnxKVMZEt2lr0/UpvT9SsUvXEprN66lZcOonQ/UD1x15mJ95ue7fUVW3wTTznxMlls49wnfjNTFb4Sr3Xcep2fuBaBecTqu5tQcssFX+Iq+94lafklLtV9TkZs8QqlXvVQz23yQPJMwdYuIplY3yd6iW4WJStWZay1+pVZvHqBhWMv6iZ5q4VWenmNGm/XqGRd7ceIE4zviU8moJZX8zbnT+CYsPGczQwUYOeY88/5l1M3p0Rb1cMmBgdGY7b3UwMXPC4c7C55t2cSlv4JR33EKp317hYr0lH3EtyOWX4/ECnszBo14l28My8Smhy5mHkSoZCu5Xl+5k/NxS/LzGqMc4zMXj+YUtMRWLvUKcL28+o4ZvcWM6Gs/1FpSOtXCrOxz49Rl86efEoOmqggmHB3/U326P4g0FLqGWFH3FbL9y17ddxRmrw/cFQoXG43bDqLjNxY1TK9j5hjRhqGuZisjv/ALCYdiCVqa9hMmWy9TutIgpd76lUeXUT/wAJWhXMq+W5w9yt+WDBfc05d9R8lmm37mO37Rd5+43q/wAoIwCy1c7OGJ/Z/UHHJl59RVHZf+4izjrrx7l5d64g5tvA/wAQBvo/xFLv/FQwLG5i5qkBT0/uD1f3LKVeu5Yu2eV1j7i8zrqXlWj/AHMXG31F5/z5gY3ALq9zJ/qXvn6m/O4yfZxBJnGepSHflU5bc8RmR4fzB15eJeOHLHGj8zw6/wCoa18TxO+GXejbuWdjuDODuZGn7hnEdkSuJ6PuJdY2gJz9oBeb3AvNwCu67Qe7s4iCn0HxEA3eq3AbZ2/iFLldPEo96/UA7Sl4vSyUo3qUfzzBvlqXfx/U87/zB2Hj9xyi3USjbU9n3AKq31Ck53APqUOrgC5xBh7JgHGY/wApW3u3mVxdOZi7HMHJvD3FuFH+HMESWYOe/wCpZVN/cWsJndx6wtvcMtO5Yc8p+5zpmlKe5R4m3Nza7gAvvqL4XFfPD3BTd1uNlpOINbO1fUHZyNTXMEDcbbYT9QKKvLDGVTs4RrK8VjPiDhF8xcNhSOWXjdRpNygV0g0Z/ma7tcGOVr3CpeZQS7+5QrvD3HDl+Zk/3L3FucZhYN4e41eTJDLbvuFptw6l5ydxO0queeo5b/MKrKuYYCunME3lwwwxbX/uYtOx8TTC8xsjgthZkv3FLhYg0orS4zLTpKDamY/5cDPGnnxAyImu4jWq13GxqjHZF4X8iYC3Tsl7y2rp17lqeDw8xxb/AAQMmtdyimVn45nHe4FM+eZWC7jk4lW8biYXUSuNX3ALo3/uZRS0XFTYNwSs1cE8b3UsMK3EGzwxLyrW9RYbrcd8bi5++ai8PqZPzLVmoiEK3Loa5HHuDbZ9RtM1vqO8Vm4tjJuO8xhxx8kqgXHm/Crn/9k=' Local $bString = Binary(_Base64Decode($Background_Texture)) If $bSaveBinary Then Local $hFile = FileOpen($sSavePath & "\Dark Texture 300x300.jpg", 18) FileWrite($hFile, $bString) FileClose($hFile) EndIf Return $bString EndFunc ;==>_Background_Texture Func _Base64Decode($sB64String) Local $a_Call = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0) If @error Or Not $a_Call[0] Then Return SetError(1, 0, "") Local $a = DllStructCreate("byte[" & $a_Call[5] & "]") $a_Call = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $a, "dword*", $a_Call[5], "ptr", 0, "ptr", 0) If @error Or Not $a_Call[0] Then Return SetError(2, 0, "") Return DllStructGetData($a, 1) EndFunc ;==>_Base64Decode
  13. You may have a look here: Or here (old):
  14. Maybe AI can do it It's just a matter of trial and error
  15. Yes, where it doesn't run well is on w7 and 11. I'm also about to try it on a virtual machine in w8. I guess it should work. We'll see. Well, I haven't tested it yet. When I get back to the office, I'll check. My computer hasn't migrated to that operating system yet.
  16. I just tested an example of a fullscreen GUI on Windows 11 and it seems to do the blur nicely. Example:
  17. I want to use it to show actual progressbar during file download from internet cause i made a gui to download some files and i want this beautiful shape
  18. Why do you need it in AutoIt @Davidyese? Should this progressbar be integrated in a AutoIt GUI or do you only want to have this as single progressbar before your applocation is fully loaded etc.? I'm trying to understand whether there are other options that might be easier to implement. I am sure @UEZ or other people here could provide such things, but who knows... how about your tryouts so far? Best regards Sven
  19. Dear Experts, I need to create : Simple Circular ProgressBar with smooth edges & gradient color in Autoit showing circular progressbar, percentage , smooth clear edges and with gradient color Thanks in advance just like this image :
  20. I was just checking out your myLogin program this morning. Are you applying the blur fullscreen? Does your work on win10?
  21. Hi, I just came across this topic. My script has this functionality, I realized it doesn't work in w11. I think I'll try your version.
  22. Thank you for sharing this nice time comparison script as well. I like how well organized your script is. _WinAPI_GetWindowFileName3($hWnd) is definitely the fastest option for getting the process name. I am going to switch to using your version since it is consistently the better performing option. I appreciate your time on this.
  23. @MattyD Sorry that I wasn't able to send my reply to you yesterday. I wasn't able to access the AutoIt forums or even the AutoIt help file stuff at all for the majority of the day and evening. As a matter of fact, I ended up having to use AutoIt3Help.exe to reference some information that I was studying at the time. Your initial response was nothing short of phenomenal. Your response was thorough yet concise. I don't always learn well from all types of teaching styles. But the way that you laid everything out was perfect for me to understand and to learn from. Not only that, but it also gave me many different directions to consider; different potential performance saving opportunities. But on top of all of that, it really opened my mind quite a bit. Such as that possibility of using some of those WinAPI functions, modifying them for better performance and using those modified functions instead. The biggest savings, really, were the whole DllOpen stuff. Since this is a process that is constantly running in the background and utilizing SetWinEventHook, there were a handful of WinAPI functions that were loading and unloading the same DLL modules every second or so. Therefore I modified _WinAPI_IsWindowVisible(), _WinAPI_GetClassName(), _WinAPI_DwmSetWindowAttribute(), and several more to use the DllOpen handle instead. These were functions that are called repeatedly. Every single one of them had performance savings of anywhere from 50-60% just from the DllOpen alone. Some of you might already be aware, but this is for my Immersive UX (formerly DwmColorBlurMica) project. I haven't uploaded these changes yet, but from my own testing on my machine everything applies so much smoother and noticeably faster. Thank you again, Matty. As I said, your response was very insightful, helpful, educational and so much more. I spent many hours yesterday learning from your response and exploring all of the different possibilities from those suggestions. I appreciate the time that you spent to share that with me. Cheers!
  24. MoriceGrene, If there was a way to do this, do you not think it would be at the top of every section of the forum? Alas, the answer is "no". M23
  25. If someone else is struggeling with the message "cdo.message 80020009 the requested body part was not found in this message": this is most likely due to region settings. If user PowerShell command Set-Culture en-US, everything works fine. Haven't been able to find a workaround with keeping my culture settings.
  26. I’m aware of the thread discussing the UPX fingerprint in AutoIt, which can trigger false positives. Please don’t get upset, but I wanted to ask if there’s a way to create a normal .exe—not .ex3 or any unusual extension—that doesn’t generate false positives. I’d prefer to avoid contacting every antivirus vendor to whitelist my program. Imagine telling users, “Sorry, your antivirus flagged my program as a virus.” Most normal users would just ignore it or uninstall it, which isn’t ideal. So I wanted to know if there’s a method to prevent this—without changing the programming language. Perhaps buying a cleaner packer, or some other professional solution? I’m open to suggestions.
  27. True and already mentioned 😅 in post #2. ------------------------ Also true, thanks @AspirinJunkie. Best regards Sven
  28. If every ounce of performance is really needed, then there are a few areas where optimization can be carried out to squeeze out a little more: #include <WinAPIProc.au3> Global $hUser32 = DllOpen('user32.dll') Global $hKernel32 = DllOpen('kernel32.dll') Global $hpsapi = DllOpen('psapi.dll') ; Run Notepad Run("notepad.exe") ; Wait up to 10 seconds for the Notepad window to appear. WinWait("[CLASS:Notepad]", "", 10) ; Retrieve the handle of the Notepad window using the classname of Notepad. Global $hWnd = WinGetHandle("[CLASS:Notepad]") ConsoleWrite("Notepad handle: " & $hWnd & @CRLF) ConsoleWrite("Notepad process: " & _WinAPI_GetWindowFileName3($hWnd) & @CRLF) ; time comparison Global Const $N = 1e4 Global $iT ConsoleWrite(@CRLF & " name time" & @CRLF & "---------------------------------------------" & @CRLF) ; the first measurement $iT = TimerInit() For $i = 1 To $N _WinAPI_GetWindowFileName($hWnd) Next $iT = TimerDiff($iT) ConsoleWrite(StringFormat("% 30s:\t%10.6f ms\n", "_WinAPI_GetWindowFileName ", ($iT) / $N)) ; the second measurement $iT = TimerInit() For $i = 1 To $N _WinAPI_GetWindowFileName2($hWnd) Next $iT = TimerDiff($iT) ConsoleWrite(StringFormat("% 30s:\t%10.6f ms\n", "_WinAPI_GetWindowFileName2", ($iT) / $N)) ; the third measurement $iT = TimerInit() For $i = 1 To $N _WinAPI_GetWindowFileName3($hWnd) Next $iT = TimerDiff($iT) ConsoleWrite(StringFormat("% 30s:\t%10.6f ms\n", "_WinAPI_GetWindowFileName3", ($iT) / $N)) ; close notepad WinKill($hWnd) Func _WinAPI_GetWindowFileName2($hWnd) Local Static $iNumChars = 512, $tBuff = DllStructCreate(StringFormat("wchar[%d]", $iNumChars)) Local $aCall = DllCall($hUser32, "dword", "GetWindowThreadProcessId", "hwnd", $hWnd, "dword*", 0) Local $iPID = $aCall[2] $aCall = DllCall($hKernel32, 'handle', 'OpenProcess', 'dword', 0x00001010, 'bool', 0, 'dword', $iPID) Local $hProc = $aCall[0] DllCall($hpsapi, 'dword', 'GetModuleBaseNameW', 'handle', $hProc, 'handle', 0, 'struct*', $tBuff, 'int', $iNumChars) $aCall = DllCall($hKernel32, "bool", "CloseHandle", "handle", $hProc) Return DllStructGetData($tBuff, 1) EndFunc Func _WinAPI_GetWindowFileName3($hWnd) Local $aCall = DllCall($hKernel32, 'HANDLE', 'OpenProcess', 'DWORD', 0x410, 'BOOL', 0, 'DWORD', WinGetProcess($hWnd)), _ $hProc = $aCall[0] $aCall = DllCall($hpsapi, 'DWORD', 'GetModuleBaseNameW', 'HANDLE', $hProc, 'HANDLE', 0, 'WSTR', '', 'INT', 65536) DllCall($hKernel32, "BOOL", "CloseHandle", "HANDLE", $hProc) Return $aCall[3] EndFunc Otherwise, the solutions presented so far completely lack reasonable error management. And if only this function needs the DLL handles, then the global variables could be bypassed by defining them directly in the function as local static variables instead.
  1. Load more activity
×
×
  • Create New...