Modify

Opened 4 years ago

Closed 4 years 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@… 4 years ago.
icon file

Download all attachments as: .zip

Change History (4)

by mychaelsoft@…, 4 years ago

Attachment: DCL_53x53_16.ico added

icon file

comment:1 by mychaelsoft, 4 years ago

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 by Jos, 4 years ago

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

Jos

comment:3 by Jos, 4 years ago

Resolution: Fixed
Status: newclosed

Dub of #3907

Modify Ticket

Action
as closed The owner will remain Jos.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.