Rizonetech Posted September 1, 2016 Posted September 1, 2016 Because of my day job keeping me busy, I do not get much time for developing software for Rizonesoft. So, I started a new project called the Rizonesoft SDK. I created the Rizonesoft SDK to streamline the developing or updating AutoIt programs. ReBar Framework I started with creating an application framework, named ReBar Framework. The ReBar Framework use shared functions that makes it easier to update projects. For example; the about dialog can be updated in one place and the change will reflect in each program when compiled. Furthermore; the settings file name is generated from the script name and information like, the program name, company name, description is adopted from the AutoIt directives in the script. Building and Distribution Environment From here I created the building environment for performing tasks like; compiling, compressing executables, signing executables and generating documentation for a project. The distribution side of the building environment can; create a distribution, create a portable package, generate an installation executable, sign the generated installation file, distribute the source code to GitHub and create a source code package. Roadmap The Rizonesoft SDK is still in its prototype. I am planning many more features. Some of the features we are planning and working on include: The new project wizard is incomplete. At the moment, new projects can only be created manually. I'm busy working on Scriptomatic for AutoIt. Documentation on how to use the Rizonesoft SDK for creating, building and distributing your own programs. Download Download the Source Code from here or view it on GitHub. Download the signed binaries from here. Main Script Rizonesoft SDK main script file content (Distro.au3) expandcollapse popup#NoTrayIcon #OnAutoItStartRegister "_ReBarStartUp" #Region AutoIt3Wrapper Directives Dection #AutoIt3Wrapper_If_Run ;=============================================================================================================== ; AutoIt3 Settings ;=============================================================================================================== #AutoIt3Wrapper_UseX64=Y ;~ (Y/N) Use AutoIt3_x64 or Aut2Exe_x64. Default=N #AutoIt3Wrapper_Run_Debug_Mode=Y ;~ (Y/N) Run Script with console debugging. Default=N #AutoIt3Wrapper_Run_SciTE_Minimized=Y ;~ (Y/N) Minimize SciTE while script is running. Default=N #AutoIt3Wrapper_Run_SciTE_OutputPane_Minimized=N ;~ (Y/N) Minimize SciTE output pane at run time. Default=N ;=============================================================================================================== ; Tidy Settings ;=============================================================================================================== #AutoIt3Wrapper_Run_Tidy=Y ;~ (Y/N) Run Tidy before compilation. Default=N #AutoIt3Wrapper_Tidy_Stop_OnError=N ;~ (Y/N) Continue when only Warnings. Default=Y ;#Tidy_Parameters= ;~ Tidy Parameters...see SciTE4AutoIt3 Helpfile for options ;=============================================================================================================== ; AU3Check settings ;=============================================================================================================== #AutoIt3Wrapper_Run_AU3Check=Y ;~ (Y/N) Run au3check before compilation. Default=Y ;#AutoIt3Wrapper_AU3Check_Parameters= ;~ Au3Check parameters...see SciTE4AutoIt3 Helpfile for options ;#AutoIt3Wrapper_AU3Check_Stop_OnWarning= ;~ (Y/N) Continue/Stop on Warnings.(Default=N) #Autoit3Wrapper_If_Compile #AutoIt3Wrapper_ShowProgress=Y ;~ (Y/N) Show ProgressWindow during Compile. Default=Y ;=============================================================================================================== ; AutoIt3 Settings ;=============================================================================================================== #AutoIt3Wrapper_UseX64=Y ;~ (Y/N) Use AutoIt3_x64 or Aut2Exe_x64. Default=N #AutoIt3Wrapper_Version=B ;~ (B/P) Use Beta or Production for AutoIt3 and Aut2Eex. Default is P #AutoIt3Wrapper_Run_Debug_Mode=N ;~ (Y/N) Run Script with console debugging. Default=N ;#AutoIt3Wrapper_Autoit3Dir= ;~ Optionally override the AutoIt3 install directory to use. ;#AutoIt3Wrapper_Aut2exe= ;~ Optionally override the Aut2exe.exe to use for this script ;#AutoIt3Wrapper_AutoIt3= ;~ Optionally override the Autoit3.exe to use for this script ;=============================================================================================================== ; Aut2Exe Settings ;=============================================================================================================== #AutoIt3Wrapper_Icon=Themes\Icons\Distro.ico ;~ Filename of the Ico file to use for the compiled exe #AutoIt3Wrapper_OutFile_Type=exe ;~ exe=Standalone executable (Default); a3x=Tokenised AutoIt3 code file #AutoIt3Wrapper_OutFile=Distro.exe ;~ Target exe/a3x filename. #AutoIt3Wrapper_OutFile_X64=Distro_X64.exe ;~ Target exe filename for X64 compile. #AutoIt3Wrapper_Compression=4 ;~ Compression parameter 0-4 0=Low 2=normal 4=High. Default=2 #AutoIt3Wrapper_UseUpx=Y ;~ (Y/N) Compress output program. Default=Y ;#AutoIt3Wrapper_UPX_Parameters= ;~ Override the default settings for UPX. #AutoIt3Wrapper_Change2CUI=N ;~ (Y/N) Change output program to CUI in stead of GUI. Default=N #AutoIt3Wrapper_Compile_both=Y ;~ (Y/N) Compile both X86 and X64 in one run. Default=N ;=============================================================================================================== ; Target Program Resource info ;=============================================================================================================== #AutoIt3Wrapper_Res_Comment=Distro Building Environment ;~ Comment field #AutoIt3Wrapper_Res_Description=Distro Building Environment ;~ Description field #AutoIt3Wrapper_Res_Fileversion=1.0.0.1366 #AutoIt3Wrapper_Res_FileVersion_AutoIncrement=Y ;~ (Y/N/P) AutoIncrement FileVersion. Default=N #AutoIt3Wrapper_Res_FileVersion_First_Increment=N ;~ (Y/N) AutoIncrement Y=Before; N=After compile. Default=N #AutoIt3Wrapper_Res_HiDpi=Y ;~ (Y/N) Compile for high DPI. Default=N #AutoIt3Wrapper_Res_ProductVersion=0 ;~ Product Version #AutoIt3Wrapper_Res_Language=2057 ;~ Resource Language code . Default 2057=English (United Kingdom) #AutoIt3Wrapper_Res_LegalCopyright=© 2016 Rizonesoft ;~ Copyright field #AutoIt3Wrapper_res_requestedExecutionLevel=highestAvailable ;~ PasInvoker, highestAvailable, requireAdministrator or None (remove the trsutInfo section). Default is the setting from Aut2Exe (asInvoker) #AutoIt3Wrapper_res_Compatibility=Vista,Win7,Win8,Win81 ;~ Vista/Windows7/win7/win8/win81 allowed separated by a comma (Default=Win81) ;#AutoIt3Wrapper_Res_SaveSource=N ;~ (Y/N) Save a copy of the Script_source in the EXE resources. Default=N ; If _Res_SaveSource=Y the content of Script_source depends on the _Run_Au3Stripper and #Au3Stripper_parameters directives: ; If _Run_Au3Stripper=Y then ; If #Au3Stripper_parameters=/STRIPONLY then Script_source is stripped script & stripped includes ; If #Au3Stripper_parameters=/STRIPONLYINCLUDES then Script_source is original script & stripped includes ; With any other parameters, the SaveSource directive is ignored as obfuscation is intended to protect the source ; If _Run_Au3Stripper=N or is not set then ; Scriptsource is original script only ; AutoIt3Wrapper indicates the SaveSource action taken in the SciTE console during compilation ; See SciTE4AutoIt3 Helpfile for more detail on Au3Stripper parameters ;=============================================================================================================== ; Free form resource fields ... max 15 ;=============================================================================================================== ; You can use the following variables: ; %AutoItVer% which will be replaced with the version of AutoIt3 ; %date% = PC date in short date format ; %longdate% = PC date in long date format ; %time% = PC timeformat ; eg: #AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer% ://////=__= ://////=__= ://////=__=://.= ://////=__= ; Add extra ICO files to the resources ; Use full path of the ico files to be added ; ResNumber is a numeric value used to access the icon: TraySetIcon(@ScriptFullPath, ResNumber) ; If no ResNumber is specified, the added icons are numbered from 201 up ; #AutoIt3Wrapper_Res_Icon_Add= ;~ Filename[,ResNumber[,LanguageCode]] of ICO to be added. ; #AutoIt3Wrapper_Res_File_Add= ;~ Filename[,Section [,ResName[,LanguageCode]]] to be added. ; Add files to the resources - can be compressed ; #AutoIt3Wrapper_Res_Remove= ; Remove resources #AutoIt3Wrapper_Res_Icon_Add=Themes\Icons\DistroD.ico ;=============================================================================================================== ; Tidy Settings ;=============================================================================================================== #AutoIt3Wrapper_Run_Tidy=N ;~ (Y/N) Run Tidy before compilation. Default=N ;#AutoIt3Wrapper_Tidy_Stop_OnError= ;~ (Y/N) Continue when only Warnings. Default=Y ;#Tidy_Parameters= ;~ Tidy Parameters...see SciTE4AutoIt3 Helpfile for options ;=============================================================================================================== ; Au3Stripper Settings ;=============================================================================================================== #AutoIt3Wrapper_Run_Au3Stripper=N ;~ (Y/N) Run Au3Stripper before compilation. default=N ;#Au3Stripper_Parameters=/StripOnly ;~ Au3Stripper parameters...see SciTE4AutoIt3 Helpfile for options ;#Au3Stripper_Ignore_Variables= ;=============================================================================================================== ; AU3Check settings ;=============================================================================================================== #AutoIt3Wrapper_Run_AU3Check=Y ;~ (Y/N) Run au3check before compilation. Default=Y ;#AutoIt3Wrapper_AU3Check_Parameters= ;~ Au3Check parameters...see SciTE4AutoIt3 Helpfile for options #AutoIt3Wrapper_AU3Check_Stop_OnWarning=Y ;~ (Y/N) Continue/Stop on Warnings.(Default=N) ;=============================================================================================================== ; Versioning Settings ;=============================================================================================================== ;#AutoIt3Wrapper_Versioning=V ;~ (Y/N/V) Run Versioning to update the script source. default=N ; V=only run when fileversion is increased by #AutoIt3Wrapper_Res_FileVersion_AutoIncrement. ;#AutoIt3Wrapper_Versioning_Parameters=/NoPrompt ;~ /NoPrompt : Will skip the Comments prompt ; /Comments : Text to added in the Comments. It can also contain the below variables. ;=============================================================================================================== ; RUN BEFORE AND AFTER definitions ;=============================================================================================================== ;The following directives can contain: these variables ; %in% , %out%, %outx64%, %icon% which will be replaced by the fullpath\filename. ; %scriptdir% same as @ScriptDir and %scriptfile% = filename without extension. ; %fileversion% is the information from the #AutoIt3Wrapper_Res_Fileversion directive ; %scitedir% will be replaced by the SciTE program directory ; %autoitdir% will be replaced by the AutoIt3 program directory ;#AutoIt3Wrapper_Run_Before_Admin= ;~ (Y/N) Run subsequent Run_Before statements with #RequireAdmin. Default=N ;#AutoIt3Wrapper_Run_After_Admin= ;~ (Y/N) Run subsequent Run_After statements with #RequireAdmin. Default=N ;#AutoIt3Wrapper_Run_Before= ;~ process to run before compilation - multiple records will be processed in sequence ;#AutoIt3Wrapper_Run_After= ;~ process to run after compilation - multiple records will be processed in sequence ;=============================================================================================================== #AutoIt3Wrapper_EndIf #EndRegion AutoIt3Wrapper Directives Dection Opt("CaretCoordMode", 1) ;~ 1=absolute, 0=relative, 2=client Opt("ExpandEnvStrings", 1) ;~ 0=don't expand, 1=do expand Opt("ExpandVarStrings", 1) ;~ 0=don't expand, 1=do expand Opt("GUICloseOnESC", 1) ;~ 1=ESC closes, 0=ESC won't close Opt("GUICoordMode", 1) ;~ 1=absolute, 0=relative, 2=cell Opt("GUIDataSeparatorChar", "|") ;~ "|" is the default Opt("GUIOnEventMode", 1) ;~ 0=disabled, 1=OnEvent mode enabled Opt("GUIResizeMode", 802) ;~ 0=no resizing, <1024 special resizing Opt("GUIEventOptions", 0) ;~ 0=default, 1=just notification, 2=GUICtrlRead tab index Opt("MouseClickDelay", 10) ;~ 10 milliseconds Opt("MouseClickDownDelay", 10) ;~ 10 milliseconds Opt("MouseClickDragDelay", 250) ;~ 250 milliseconds Opt("MouseCoordMode", 1) ;~ 1=absolute, 0=relative, 2=client Opt("MustDeclareVars", 1) ;~ 0=no, 1=require pre-declaration Opt("PixelCoordMode", 1) ;~ 1=absolute, 0=relative, 2=client Opt("SendAttachMode", 0) ;~ 0=don't attach, 1=do attach Opt("SendCapslockMode", 1) ;~ 1=store and restore, 0=don't Opt("SendKeyDelay", 5) ;~ 5 milliseconds Opt("SendKeyDownDelay", 1) ;~ 1 millisecond Opt("TCPTimeout", 100) ;~ 100 milliseconds Opt("TrayAutoPause", 1) ;~ 0=no pause, 1=Pause Opt("TrayIconDebug", 1) ;~ 0=no info, 1=debug line info Opt("TrayIconHide", 1) ;~ 0=show, 1=hide tray icon Opt("TrayMenuMode", 1) ;~ 0=append, 1=no default menu, 2=no automatic check, 4=menuitemID not return Opt("TrayOnEventMode", 1) ;~ 0=disable, 1=enable Opt("WinDetectHiddenText", 0) ;~ 0=don't detect, 1=do detect Opt("WinSearchChildren", 1) ;~ 0=no, 1=search children also Opt("WinTextMatchMode", 1) ;~ 1=complete, 2=quick Opt("WinTitleMatchMode", 1) ;~ 1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase Opt("WinWaitDelay", 250) ;~ 250 milliseconds #include <ListviewConstants.au3> #include <ListBoxConstants.au3> #include <WindowsConstants.au3> #include <ButtonConstants.au3> #include <StaticConstants.au3> #include <StringConstants.au3> #include <GuiConstantsEx.au3> #include <EditConstants.au3> #include <GuiImageList.au3> #include <GuiListView.au3> #include <Constants.au3> #include <Misc.au3> #include <WinAPITheme.au3> #include "Includes\ReBar_Declarations.au3" #include "Includes\ReBar_Functions.au3" #include "Includes\ReBar_ModernMenu.au3" #include "Includes\ReBar_Versioning.au3" #include "Includes\ReBar_Logging.au3" #include "Includes\ReBar_Splash.au3" #include "Includes\ReBar_Process.au3" #include "Includes\ReBar_AutoIt3Script.au3" #include "UDF\ReBar_Options.au3" #include "Includes\ReBar_Startup.au3" ;=============================================================================================================== ; Declarations ;=============================================================================================================== Global Const $COUNT_BUILD = 4 Global Const $COUNT_DISTRIBUTE = 7 Global Const $LINESPACING = 20 Global Const $SPACE_PRELINE = 22 Global Const $COUNT_PREREQ_COL = 2 Global Const $COUNT_PREREQ_ROW = 5 Global Const $COUNT_PREREQ_LINE = 6 Global Const $DIR_SIGNING = @ScriptDir & "\Signing\" Global $LIST_DISTROS, $IMG_DISTROS, $COUNT_DISTROS = 0 Global $ICO_GENDOCS, $LST_STATUS, $EDIT_STATUS, $IMG_STATUS Global $MENU_CREATESLN, $GUI_CREATESLN Global $ICON_BUILD[$COUNT_BUILD], $CHK_BUILD[$COUNT_BUILD], $BTNHLP_BUILD[$COUNT_BUILD], $BTNGO_BUILD[$COUNT_BUILD] Global $PRGTOP_BUILD[$COUNT_BUILD], $LINE_BUILD[$COUNT_BUILD], $PROGRESS_BUILD[$COUNT_BUILD] Global $BTNHLP_BUILD_H[$COUNT_BUILD], $BTNGO_BUILD_H[$COUNT_BUILD] Global $ICON_DISTRIBUTE[$COUNT_DISTRIBUTE], $CHK_DISTRIBUTE[$COUNT_DISTRIBUTE] Global $BTNHLP_DISTRIBUTE[$COUNT_DISTRIBUTE], $BTNGO_DISTRIBUTE[$COUNT_DISTRIBUTE] Global $PRGTOP_DISTRIBUTE[$COUNT_DISTRIBUTE], $LINE_DISTRIBUTE[$COUNT_DISTRIBUTE] Global $PROGRESS_DISTRIBUTE[$COUNT_DISTRIBUTE], $BTNHLP_DISTRIBUTE_H[$COUNT_DISTRIBUTE] Global $BTNGO_DISTRIBUTE_H[$COUNT_DISTRIBUTE] Global $LINE_PREREQ[$COUNT_PREREQ_COL][$COUNT_PREREQ_LINE], $ICO_PRESTATUS[$COUNT_PREREQ_COL][$COUNT_PREREQ_ROW] Global $LBL_PRENAME[$COUNT_PREREQ_COL][$COUNT_PREREQ_ROW], $LBL_PRESTATUS[$COUNT_PREREQ_COL][$COUNT_PREREQ_ROW] Global $LBL_PREURL[$COUNT_PREREQ_COL][$COUNT_PREREQ_ROW], $BTN_PROCESS_ALL Global $TAB_LOGGING Global $INST_SIZE = 0 Global $AU3_INSTALLED, $AU3_DIR, $AU3_CMD Global $AUB_INSTALLED, $AUB_DIR, $AUB_CMD Global $SCT_INSTALLED, $SCT_DIR, $SCT_CMD Global $AUW_INSTALLED, $AUW_DIR, $AUW_CMD Global $UPX_INSTALLED, $UPX_DIR, $UPX_CMD Global $KSN_INSTALLED, $KSN_DIR, $KSN_CMD Global $7ZP_INSTALLED, $7ZP_DIR, $7ZP_CMD Global $INN_INSTALLED, $INN_DIR, $INN_CMD Global $INI_DISTRO = "" Global $DIR_DISTRO = "" Global $AU3_DISTRO = "" Global $INT_BLDPERC[$COUNT_BUILD], $INT_BLDPOS[$COUNT_BUILD] Global $INT_DISPERC[$COUNT_DISTRIBUTE], $INT_DISPOS[$COUNT_DISTRIBUTE] Global $COUNT_CHECKED_DISTROS = 0 Global $B_SINGULARITY = False Global $ICO_PREREFRESH, $ICO_PREREFRESH_H = 1 Global $NSD_NAME, $NSD_PROG_NAME, $NSD_PROG_DESC, $NSD_BTNCREATE ;=============================================================================================================== _SplashStart("Initializing " & $REBAR_PROG_NAME, $REBAR_SPLASH_ENABLE) _SplashUpdate("Setting Working Directories", 1, $REBAR_SPLASH_ENABLE) _SetWorkingDirectories() _SplashUpdate("Initializing Logging Subsystem", 2, $REBAR_SPLASH_ENABLE) _LoggingInitialize() _SplashUpdate("Checking Integrity", 3, $REBAR_SPLASH_ENABLE) _CheckResources($REBAR_RES_FUGUE) _CheckResources($REBAR_RES_DOORS) _SplashUpdate("Building Interface", 5, $REBAR_SPLASH_ENABLE) _StartCoreGUI() Func _StartCoreGUI() Local $mnuFile, $miFileClose Local $mnuCreate Local $mnuHelp, $miHlpHome, $miHlpSupport Local $btnGenDocs $REBAR_GUI_CORE = GUICreate($REBAR_ISADMINST & _GUIGetTitle($REBAR_PROG_NAME), $REBAR_FORM_WIDTH, $REBAR_FORM_HEIGHT, -1, -1, -1) GUIRegisterMsg($WM_GETMINMAXINFO, "WM_GETMINMAXINFO") GUISetFont($REBAR_FONT_SIZE, 400, -1, $REBAR_FONT_NAME, $REBAR_GUI_CORE, $CLEARTYPE_QUALITY) If Not @Compiled Then GUISetIcon($REBAR_RUN_PROG_ICON_HOVER, 0, $REBAR_GUI_CORE) EndIf $mnuFile = _GUICtrlCreateODTopMenu("&File", $REBAR_GUI_CORE) $mnuCreate = _GUICtrlCreateODTopMenu("&Create", $REBAR_GUI_CORE) $mnuHelp = _GUICtrlCreateODTopMenu("&Help", $REBAR_GUI_CORE) _GUICtrlCreateODMenuItem("", $mnuFile) $miFileClose = _GUICtrlCreateODMenuItem("&Close" & @TAB & "Esc", $mnuFile, $REBAR_RES_FUGUE, 102) _GUICtrlCreateODMenuItem("", $mnuFile) $MENU_CREATESLN = _GUICtrlCreateODMenuItem("&Create new Solution...", $mnuCreate, $REBAR_RES_FUGUE, 140) $REBAR_ABOUT_MENU = _GUICtrlCreateODMenuItem("&About " & $REBAR_PROG_NAME, $mnuHelp, $REBAR_RES_FUGUE, 103) $miHlpHome = _GUICtrlCreateODMenuItem($REBAR_COMP_NAME & " &Home", $mnuHelp, $REBAR_RES_FUGUE, 106) _GUICtrlCreateODMenuItem("", $mnuHelp) $miHlpSupport = _GUICtrlCreateODMenuItem($REBAR_COMP_NAME & " &Support", $mnuHelp, $REBAR_RES_FUGUE, 101) _SetMenuSelectBkColor(0xF7E0C9) _SetMenuSelectRectColor(0xE4A262) GUICtrlSetOnEvent($miFileClose, "_ShutdownProgram") GUICtrlSetOnEvent($MENU_CREATESLN, "_CreateNewSolutionDialog") GUICtrlSetOnEvent($REBAR_ABOUT_MENU, "_ShowAboutDialog") GUICtrlSetOnEvent($miHlpHome, "_OpenHomePageLink") GUICtrlSetOnEvent($miHlpSupport, "_OpenSupportLink") $REBAR_GUI_ICON = GUICtrlCreateIcon($REBAR_ICON, 201, $REBAR_ICON_LEFT, $REBAR_ICON_TOP, $REBAR_ICON_SIZE, $REBAR_ICON_SIZE) GUICtrlSetTip($REBAR_GUI_ICON, "Version " & $REBAR_RUN_VERSION & @CRLF & _ "Build with AutoIt version " & @AutoItVersion & @CRLF & _ "Copyright © " & @YEAR & " " & $REBAR_COMP_NAME, _ "About " & $REBAR_PROG_NAME, $TIP_INFOICON, $TIP_BALLOON) GUICtrlSetCursor($REBAR_GUI_ICON, 0) GUICtrlCreateLabel("Rizonesoft SDK 1", 85, 15, 300, 100) GUICtrlSetFont(-1, 11) $LIST_DISTROS = GUICtrlCreateListView("", 10, 90, 450, 200) _GUICtrlListView_SetExtendedListViewStyle($LIST_DISTROS, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, _ $LVS_EX_SUBITEMIMAGES, $LVS_EX_CHECKBOXES, _ $LVS_EX_DOUBLEBUFFER, $WS_EX_CLIENTEDGE, _ $LVS_EX_FLATSB, $LVS_EX_INFOTIP)) _WinAPI_SetWindowTheme(GUICtrlGetHandle($LIST_DISTROS), "Explorer") _GUICtrlListView_AddColumn($LIST_DISTROS, " Distros ", 450) _GUICtrlListView_AddColumn($LIST_DISTROS, " Script Path ", 100) _GUICtrlListView_AddColumn($LIST_DISTROS, " Distro Configuration ", 100) $IMG_DISTROS = _GUIImageList_Create(16, 16, 5, 3, 0, 250) _GUICtrlListView_SetImageList($LIST_DISTROS, $IMG_DISTROS, 1) $BTN_PROCESS_ALL = GUICtrlCreateButton("Process", 270, 295, 190, 40) GUICtrlSetFont($BTN_PROCESS_ALL, 11, 400) GUICtrlSetOnEvent($BTN_PROCESS_ALL, "_RunBuildOption") GUICtrlCreateTab(10, 345, 760, 160) GUICtrlCreateTabItem(" Prerequisites ") GUICtrlCreateLabel("", 20, 380, 1, 111) GUICtrlSetBkColor(-1, 0xD9D9D9) GUICtrlCreateLabel("", 330, 380, 1, 111) GUICtrlSetBkColor(-1, 0xD9D9D9) GUICtrlCreateLabel("", 365, 380, 1, 111) GUICtrlSetBkColor(-1, 0xD9D9D9) For $iCol = 0 To $COUNT_PREREQ_COL - 1 For $iLine = 0 To $COUNT_PREREQ_LINE - 1 $LINE_PREREQ[$iCol][$iLine] = GUICtrlCreateLabel("", 20 + ($iCol * 360), 380 + ($iLine * $SPACE_PRELINE), 346, 1) GUICtrlSetBkColor($LINE_PREREQ[$iCol][$iLine], 0xD9D9D9) Next For $iRow = 0 To $COUNT_PREREQ_ROW - 1 $ICO_PRESTATUS[$iCol][$iRow] = GUICtrlCreateIcon($REBAR_RES_FUGUE, 122, 25 + ($iCol * 360), 383 + ($iRow * $SPACE_PRELINE), 16, 16) $LBL_PRENAME[$iCol][$iRow] = GUICtrlCreateLabel("Prerequisites", 50 + ($iCol * 360), 384 + ($iRow * $SPACE_PRELINE), 200, 16) $LBL_PRESTATUS[$iCol][$iRow] = GUICtrlCreateLabel("Not Installed", 250 + ($iCol * 360), 384 + ($iRow * $SPACE_PRELINE), 80, 16) GUICtrlSetFont($LBL_PRESTATUS[$iCol][$iRow], 8.5, -1, 4) ;Underlined GUICtrlSetColor($LBL_PRESTATUS[$iCol][$iRow], 0x0000FF) GUICtrlSetCursor($LBL_PRESTATUS[$iCol][$iRow], 0) $LBL_PREURL[$iCol][$iRow] = GUICtrlCreateIcon($REBAR_RES_FUGUE, 126, 340 + ($iCol * 360), 383 + ($iRow * $SPACE_PRELINE), 16, 16) Next Next GUICtrlCreateLabel("", 380, 380, 1, 111) GUICtrlSetBkColor(-1, 0xD9D9D9) GUICtrlCreateLabel("", 690, 380, 1, 111) GUICtrlSetBkColor(-1, 0xD9D9D9) GUICtrlCreateLabel("", 725, 380, 1, 111) GUICtrlSetBkColor(-1, 0xD9D9D9) $ICO_PREREFRESH = GUICtrlCreateIcon($REBAR_RES_FUGUE, 128, 738, 383, 16, 16) GUICtrlSetCursor($ICO_PREREFRESH, 0) GUICtrlSetTip($ICO_PREREFRESH, "Rescan your Computer for installed Prerequisites.", " Prerequisites", $TIP_INFOICON, $TIP_BALLOON) $TAB_LOGGING = GUICtrlCreateTabItem(" Logging ") $LST_STATUS = GUICtrlCreateListView("", 20, 380, 720, 111, BitOR($LVS_REPORT, $LVS_NOCOLUMNHEADER)) _GUICtrlListView_SetExtendedListViewStyle($LST_STATUS, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_DOUBLEBUFFER, _ $LVS_EX_SUBITEMIMAGES, $LVS_EX_INFOTIP, _ $WS_EX_CLIENTEDGE)) _GUICtrlListView_AddColumn($LST_STATUS, "", 680) _WinAPI_SetWindowTheme(GUICtrlGetHandle($LST_STATUS), "Explorer") $IMG_STATUS = _GUIImageList_Create(16, 16, 5, 1, 8, 8) _GUIImageList_AddIcon($IMG_STATUS, $REBAR_RES_FUGUE, -103) _GUIImageList_AddIcon($IMG_STATUS, $REBAR_RES_FUGUE, -130) _GUIImageList_AddIcon($IMG_STATUS, $REBAR_RES_FUGUE, -122) _GUIImageList_AddIcon($IMG_STATUS, $REBAR_RES_FUGUE, -134) _GUIImageList_AddIcon($IMG_STATUS, $REBAR_RES_FUGUE, -133) _GUIImageList_AddIcon($IMG_STATUS, $REBAR_RES_FUGUE, -135) _GUIImageList_AddIcon($IMG_STATUS, $REBAR_RES_FUGUE, -136) _GUIImageList_AddIcon($IMG_STATUS, $REBAR_RES_FUGUE, -138) _GUIImageList_AddIcon($IMG_STATUS, $REBAR_RES_FUGUE, -999) _GUICtrlListView_SetImageList($LST_STATUS, $IMG_STATUS, 1) GUICtrlSetFont($LST_STATUS, 9, -1, -1, "Courier New") GUICtrlSetColor($LST_STATUS, 0x222222) GUICtrlCreateTabItem("") ; end tabitem definition GUICtrlCreateGroup("Build", 470, 10, 300, 120) GUICtrlSetFont(-1, 10, 700, 2) For $iBuild = 0 To $COUNT_BUILD - 1 $ICON_BUILD[$iBuild] = GUICtrlCreateIcon($REBAR_RES_FUGUE, 109 + $iBuild, 480, 38 + ($iBuild * $LINESPACING), 16, 16) $CHK_BUILD[$iBuild] = GUICtrlCreateCheckbox(" Building...", 503, 38 + ($iBuild * $LINESPACING), 215, 16) $BTNHLP_BUILD[$iBuild] = GUICtrlCreateIcon($REBAR_RES_FUGUE, 104, 718, 38 + ($iBuild * $LINESPACING), 16, 16) GUICtrlSetCursor($BTNHLP_BUILD[$iBuild], 0) $BTNGO_BUILD[$iBuild] = GUICtrlCreateIcon($REBAR_RES_FUGUE, 108, 738, 38 + ($iBuild * $LINESPACING), 16, 16) GUICtrlSetCursor($BTNGO_BUILD[$iBuild], 0) $PRGTOP_BUILD[$iBuild] = 55 + ($iBuild * $LINESPACING) $LINE_BUILD[$iBuild] = GUICtrlCreateLabel("", 503, $PRGTOP_BUILD[$iBuild], 215, 1) GUICtrlSetBkColor($LINE_BUILD[$iBuild], 0xD9D9D9) $PROGRESS_BUILD[$iBuild] = GUICtrlCreateLabel("", 503, $PRGTOP_BUILD[$iBuild], 1, 1) GUICtrlSetBkColor($PROGRESS_BUILD[$iBuild], 0x3399FF) GUICtrlSetState($PROGRESS_BUILD[$iBuild], $GUI_HIDE) ;~ GUICtrlSetState($CHK_BUILD[$iBuild], $GUI_CHECKED) GUICtrlSetOnEvent($BTNGO_BUILD[$iBuild], "_RunBuildOption") Next GUICtrlSetData($CHK_BUILD[0], " Build Distros") GUICtrlSetData($CHK_BUILD[1], " Compress Program Executables") GUICtrlSetData($CHK_BUILD[2], " Sign Program Executables") GUICtrlSetData($CHK_BUILD[3], " Generate Documentation") GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group GUICtrlCreateGroup("Distribution", 470, 140, 300, 200) GUICtrlSetFont(-1, 10, 700, 2) For $iDis = 0 To $COUNT_DISTRIBUTE - 1 $ICON_DISTRIBUTE[$iDis] = GUICtrlCreateIcon($REBAR_RES_FUGUE, 114 + $iDis, 480, 168 + ($iDis * $LINESPACING), 16, 16) $CHK_DISTRIBUTE[$iDis] = GUICtrlCreateCheckbox(" Building...", 503, 168 + ($iDis * $LINESPACING), 215, 16) $BTNHLP_DISTRIBUTE[$iDis] = GUICtrlCreateIcon($REBAR_RES_FUGUE, 104, 718, 168 + ($iDis * $LINESPACING), 16, 16) GUICtrlSetCursor($BTNHLP_DISTRIBUTE[$iDis], 0) $BTNGO_DISTRIBUTE[$iDis] = GUICtrlCreateIcon($REBAR_RES_FUGUE, 108, 738, 168 + ($iDis * $LINESPACING), 16, 16) GUICtrlSetCursor($BTNGO_DISTRIBUTE[$iDis], 0) $PRGTOP_DISTRIBUTE[$iDis] = 185 + ($iDis * $LINESPACING) $LINE_DISTRIBUTE[$iDis] = GUICtrlCreateLabel("", 503, $PRGTOP_DISTRIBUTE[$iDis], 215, 1) GUICtrlSetBkColor($LINE_DISTRIBUTE[$iDis], 0xD9D9D9) $PROGRESS_DISTRIBUTE[$iDis] = GUICtrlCreateLabel("", 503, $PRGTOP_DISTRIBUTE[$iDis], 0, 1) GUICtrlSetBkColor($PROGRESS_DIST For some reason Firefox keep on crashing when trying to paste the code. Will figure it out soon. Rizonesoft Open Source Home Scripts: Complete Internet Repair | Development: Rizonesoft SDK
MattHiggs Posted September 8, 2016 Posted September 8, 2016 Hello sir. Amazing start. I look forward to this projects further development. Just a couple of things I noticed: 1. the product does not seem to detect 64-bit installations of 7-zip on 64-bit systems (C:\program files\7zip) 2. "Prerequisites" doesn't really tell me what I am missing that is needed to use the software, and the hyperlinks don't seem to do anything, much less lead to a website with aforementioned prerequisite files. I saw your comment about the help file and look forward to seeing it when it is available.
argumentum Posted September 11, 2016 Posted September 11, 2016 (edited) would you release the source for DoorsShell.DLL ? Actually, all other code you created ? Thanks Edited September 11, 2016 by argumentum clarify Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now