Modify

Opened 7 weeks ago

Closed 4 weeks ago

#3908 closed Bug (Fixed)

using #AutoIt3Wrapper_Res_Icon_Add with UNC path

Reported by: mychaelsoft@… Owned by: Jos
Milestone: Component: SciTE4AutoIt
Version: 3.3.16.0 Severity: None
Keywords: #AutoIt3Wrapper_Res_File_Add Cc:

Description

This script splashes a small image at coords 100,100. #AutoIt3Wrapper_Res_File_Add works for a local path, but not a network path. Other wrapper commands like #AutoIt3Wrapper_Res_Icon_Add work with UNC, but File_Add doesn't.

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_Res_Icon_Add=\\FILESERVER\Scripts\Resources\DCL_53x53_16.ico,8
#AutoIt3Wrapper_Res_File_Add=\\FILESERVER\Scripts\Resources\DCL_53x53_16.ico, rt_rcdata, DCL_LOGO_ICON_UNC
#AutoIt3Wrapper_Res_File_Add=C:\Users\michaelp\OneDrive - Davis C\Pictures\DCL_53x53_16.ico, rt_rcdata, DCL_LOGO_ICON_LOCAL
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include-once
#include "\\FILESERVER\Scripts\Include\ResourcesEx.au3"
#include <GuiConstants.au3>
#include <WinAPIConstants.au3>
#include <WinAPISysWin.au3> ;Added to fix error in ResourcesEx.au3

Global $hSplashlogoImage = 0
Global $bResource=InputBox("Choose #AutoIt3Wrapper_Res_File_Add source", "1. UNC path" & @CRLF & "2. Local path")
If $bResource = "1" Then $hSplashlogoImage = _Resource_GetAsImage("DCL_LOGO_ICON_UNC") ; this fails
If $bResource = "2" Then $hSplashlogoImage = _Resource_GetAsImage("DCL_LOGO_ICON_LOCAL")
_SplashGUILogoButton(100, 100)
Sleep (3000)

;Most of the following code, credit to user nend @ https://www.autoitscript.com/forum/topic/107746-splashimageon/
Func _SplashGUILogoButton($LogoHorizontalPos, $LogoVerticalPos)
        _GDIPlus_Startup()
        $hSplashGUILogo = GUICreate("SplashGUILogo", 16, 16, $LogoHorizontalPos, $LogoVerticalPos, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
        _SetBitmap($hSplashGUILogo, $hSplashlogoImage, 255, 16, 16)     ; DCL dog icon
        $hBack = GUICtrlCreateLabel("", 0, 0, 16, 16)   ; empty label control
        GUICtrlSetState(-1, $gui_disable)
        GUISetState(@SW_SHOWNA, $hSplashGUILogo)
        _GDIPlus_Shutdown()
        Return ($hSplashGUILogo)
EndFunc   ;==>_SplashGUILogoButton

Func _SetBitmap($hGUI, $hImage, $iOpacity, $n_width = 200, $n_height = 200) ; To support _$hSplashGUILogo
        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", $n_width)
        DllStructSetData($tSize, "Y", $n_height)
        $tSource = DllStructCreate($tagPOINT)
        $pSource = DllStructGetPtr($tSource)
        $tBlend = DllStructCreate($tagBLENDFUNCTION)
        $pBlend = DllStructGetPtr($tBlend)
        DllStructSetData($tBlend, "Alpha", $iOpacity)
        DllStructSetData($tBlend, "Format", 1)
        _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
;}}}

Attachments (1)

DCL_53x53_16.ico (1.1 KB) - added by mychaelsoft@… 7 weeks ago.
icon file

Download all attachments as: .zip

Change History (4)

Changed 7 weeks ago by mychaelsoft@…

icon file

comment:1 Changed 7 weeks ago by mychaelsoft

File paths have been manually changed from what I use for security. I apologize if there are any typos. Thanks and respect for your amazing work! I've been using Autoit as a novice for 9 years now and can't function without it.

comment:2 Changed 7 weeks ago by Jos

Is this different for your previous one and did you try the fix I supplied?

Jos

comment:3 Changed 4 weeks ago by Jos

  • Resolution set to Fixed
  • Status changed from new to closed

Dub of #3907

Guidelines for posting comments:

  • You cannot re-open a ticket but you may still leave a comment if you have additional information to add.
  • In-depth discussions should take place on the forum.

For more information see the full version of the ticket guidelines here.

Add Comment

Modify Ticket

Action
as closed The owner will remain Jos.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.