Sign in to follow this  
Followers 0
Country73

SplashImageOn

1 post in this topic

I've been using the SplashImageOn in my coding for when I'm creating an installation package.

One thing that has always bugged me and I'm curious if there is a way to fix it:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
;
If Not FileExists("C:\EDT\<programName>") Then DirCreate("C:\EDT\<programName>")
FileInstall("\\<server>\<share>\Blue.bmp","C:\EDT\<programName>\blue.bmp",1)

#Region    ;_Globals
Global   $SplashPic      = "C:\EDT\<programName>\blue.bmp"
Global   $ProgName       = "ProgramName"
Global   $ProgVersion    = "XG 8.13"
Global   $ProgInstall    = "\\<server>\<Share>\<ProgramToInstall>"
Global   $SplashGui
Global   $SplashTitle
Global   $SplashText
#EndRegion ;==>END_Globals
;
#Region    ;_SplashScreen
SplashImageOn('',$SplashPic,@DesktopWidth,@DesktopHeight,'','',1)
Local $Strlen   = StringLen($ProgName)
$SplashGui      = GUICreate('',550,230,20,20,$WS_POPUP,$WS_EX_TOPMOST)
$SplashTitle    = GUICtrlCreateLabel($ProgName,500 - ($Strlen*10),25,120 + ($Strlen*10),30)
$SplashText     = GUICtrlCreateLabel('Installing ' & $ProgName & ' Version: ' & $ProgVersion,20,190,510,-1)
GUICtrlSetFont($SplashTitle,16,600,'','Times New Roman')
GUICtrlSetFont($SplashText,14,400,'','Times New Roman')
GUISetState(@SW_SHOW)
#EndRegion ;==>END_SplashScreen
;
_Installationstart()
;
#Region    ;_Installationstart
Func _Installationstart()
;Here I would start my log for the installation - portion not shown in here
;Also first step in the installation.
    RUN($ProgInstall)
    ProcessWait("Setup.exe",8000)      ;This particular install uses Setup.exe
    Do
      Sleep(5000)
    Until Not ProcessExists("Setup.exe")

    GUICtrlSetData($SplashText,'Recording specific data to registry')
    RegWrite(<Path>,<Key>,<Type>,<Value>)
    RegWrite(<Path>,<Key>,<Type>,<Value>)
    Sleep(3000)                         ;Writing to Registry is pretty quick, pausing for SplashGUI to be read
    _ExitNow()
EndFunc
#EndRegion  ;==>END_Installationstart
;
#Region     ;_ExitNow
Func _ExitNow()
    ;This is where I would finish up any of the logging and begin cleanup
    GUICtrlSetData($SplashText,'Finished Installation')
    Sleep(5000)
    SplashOff()
    GUIDelete($SplashGUI)
    FileDelete($SplashPic)
    Exit
EndFunc
#EndRegion  ;==>END_ExitNow
;

Question that I have.

When this is kicked off the "SplashImageOn" will cover the entire screen.

That is until the primary installation kicks off any secondary installs. (This is in the _Installationstart function, inside the DO LOOP)

Once those installations start the task bar is visible until that specific install has finished. Then the entire screen is once again covered by the "SplashImageOn".

It's not that it's a really big deal or anything, but was curious if there was a way for the task bar to remain hidden through all of the installations by the SplashImageOn.

Let me know if I need to explain more on this.

Mainly just a little curious.


If you try to fail and succeed which have you done?AutoIt Forum Search

Share this post


Link to post
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0