Modify ↓
Opened 2 years ago
Closed 2 years ago
#3907 closed Bug (Fixed)
#AutoIt3Wrapper_Res_File_Add not supporting UNC path for ICO file
Reported by: | mychaelsoft | Owned by: | Jos |
---|---|---|---|
Milestone: | Component: | SciTE4AutoIt | |
Version: | 3.3.16.0 | Severity: | None |
Keywords: | Cc: |
Description
Thank you for this amazing community! I have been able to make #AutoIt3Wrapper_Res_File_Add work using a local path, but not a network path. By contrast, #AutoIt3Wrapper_Res_Icon_Add seems fine with UNC paths, though not shown in the sample below.
#Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_UseUpx=y #AutoIt3Wrapper_Res_Icon_Add=\\FILESERVER\Scripts\Resources\DCL_53x53_16.ico,8 ;works fine #AutoIt3Wrapper_Res_File_Add=\\FILESERVER\Scripts\Resources\DCL_53x53_16.ico, rt_rcdata, DCL_LOGO_ICON ; does not work ;#AutoIt3Wrapper_Res_File_Add=C:\Users\mike\OneDrive - Dav Ctl\Pictures\DCL_53x53_16.ico, rt_rcdata, DCL_LOGO_ICON ; works fine #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include-once #include "\\FILESERVER\Scripts\Include\ResourcesEx.au3" #include <GuiConstants.au3> #include <WinAPIConstants.au3> Global $hSplashlogoImage = 0 If @Compiled Then $hSplashlogoImage = _Resource_GetAsImage("DCL_LOGO_ICON") ; If exe, use Resource. Otherwise, refer to _GDIPlus_BitmapCreateFromFile _SplashGUILogoButton(100, 100) Sleep (3000) 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)) If Not @Compiled Then Local $hImage = _GDIPlus_BitmapCreateFromFile("C:\Users\mike\OneDrive - Dav Ctl\Pictures\DCL_53x53_16.BMP") $hSplashlogoImage = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage) EndIf _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) If Not @Compiled Then $hImage = _GDIPlus_BitmapCreateFromFile("C:\Users\mike\OneDrive - Dav Ctl\Pictures\DCL_53x53_16.BMP") $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 (0)
Change History (3)
comment:1 Changed 2 years ago by Jos
- Status changed from new to assigned
comment:2 Changed 2 years ago by Jos
Will be fixed in the next version. When you like to test the fix, just comment these lines in Func _Compile_Upd_res($ScriptFile_Out) as those shouldn't be there:
For $x = 1 To $INP_Res_Files_Cnt $ResFileInfo = StringSplit($INP_Res_Files[$x], ",") ReDim $ResFileInfo[5] If $ResFileInfo[2] = "" Then $ResFileInfo[2] = $RT_MESSAGETABLE If $ResFileInfo[3] = "" Then $ResFileInfo[3] = $x If $ResFileInfo[4] = "" Then $ResFileInfo[4] = $INP_Res_Language ; removed as it makes the UNC fail and seems to be unnecessary ;~ $ResFileInfo[1] = StringReplace($ResFileInfo[1], "\", "\\") ;~ $ResFileInfo[1] = StringReplace($ResFileInfo[1], "/", "\\") $Res_Update_cnt += _Res_Update($rh, StringStripWS($ResFileInfo[1], 3), StringStripWS($ResFileInfo[2], 3), StringStripWS($ResFileInfo[3], 3), StringStripWS($ResFileInfo[4], 3)) Next
comment:3 Changed 2 years ago by Jos
- Resolution set to Fixed
- Status changed from assigned to closed
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.
Note: See
TracTickets for help on using
tickets.
Confirmed ... will have a look.
Jos