Jump to content

Program Launcher


kaotkbliss
 Share

Recommended Posts

My first project outside of work smile.gif

Since I have literally hundreds of games and programs installed on my pc, even using the start menu can get me lost when looking for a specific thing. With this, you can drag/drop any file or shortcut onto the GUI. Then you can open any file from the convienient GUI sitting on your desktop.

5 different "tabs" or lists allow you to sort and organize your files to make them easier to find when your lists get long.
 

Latest Version 3.0.2.2<-11/8/13 (or 8/11/13 for the European people)

You can get the included help file here for a more indepth look at what this program can do and how it works.

I've removed the purchase requirement (it's free again) and added a donate button to the installer.

Bugs, suggestions and comments are welcome!

post-52469-0-39046100-1346421892_thumb.p

post-52469-0-33528700-1342555719_thumb.p

post-52469-0-82714800-1319557608_thumb.j

Edited by kaotkbliss

010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

Link to comment
Share on other sites

When I add a program to a tab the script crashes with error:

==> Subscript used with non-Array variable.:

$buta[$w] = GUICtrlCreateButton($taba[$i], 5, $y + 1, 40, 40, $BS_ICON)

$buta^ ERROR

Suggestion: give us an openfiledialog to add programs with.

Edited by jaberwocky6669
Link to comment
Share on other sites

Same problem here, but solved: try to replace 

..........

Func taba()
    Dim $taba
    Dim $buta[1] ;<========= HERE (line 219)


.........
Edited by taietel
Link to comment
Share on other sites

Yeah, sorry. I don't know where that [1] wandered off to :blink:

I'm updating the code to include that as well as a fix to the scrolling

(there was a problem when it reached the end of the list.

010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

Link to comment
Share on other sites

kaotkbliss, just an idea: you can get rid of those "/\" ; replace your gui() func with:

Func gui()
    $posx = IniRead(@WorkingDir & "\pldata.ini", "pos", 1, -1)
    $posy = IniRead(@WorkingDir & "\pldata.ini", "pos", 2, -1)
    $y = 25
    $w = 1
    $main = GUICreate("Program Launcher", 350, 446, $posx, $posy)
    $filemenu = GUICtrlCreateMenu("Options")
    $fileitem1 = GUICtrlCreateMenuItem("Add Tab", $filemenu)
    $fileitem2 = GUICtrlCreateMenuItem("Remove Tab", $filemenu)
    $htab=GUICtrlCreateTab(2, 2, 346, 426)
    $win = GUICtrlCreateTabItem($tab1)
    createtaba()
    $y = 25
    $w = 1
    $add1 = GUICtrlCreateButton("Add Program", 95, 400, 73, 25)
    $remove1 = GUICtrlCreateButton("Remove Program", 180, 400, 90, 25)
    GUICtrlCreateLabel("", 324, 70, 20, 290, $SS_BLACKFRAME)
    $aup = GUICtrlCreateButton(ChrW(9651), 323, 26, 22, 25, BitOR($BS_CENTER, $BS_VCENTER))
    $aup1 = GUICtrlCreateButton(ChrW(9650), 323, 50, 22, 25, BitOR($BS_CENTER, $BS_VCENTER))
    GUICtrlSetColor(-1,0x0000ff)
    $adown = GUICtrlCreateButton(ChrW(9661), 323, 374, 22, 25, BitOR($BS_CENTER, $BS_VCENTER))
    $adown1 = GUICtrlCreateButton(ChrW(9660), 323, 350, 22, 25, BitOR($BS_CENTER, $BS_VCENTER))
    GUICtrlSetColor(-1,0x0000ff)
    $win2 = GUICtrlCreateTabItem($tab2)
    createtabb()
    $y = 25
    $w = 1
    $add2 = GUICtrlCreateButton("Add Program", 95, 400, 73, 25)
    $remove2 = GUICtrlCreateButton("Remove Program", 180, 400, 90, 25)
    GUICtrlCreateLabel("", 324, 70, 20, 290, $SS_BLACKFRAME)
    $bup = GUICtrlCreateButton(ChrW(9651), 323, 26, 22, 25, BitOR($BS_CENTER, $BS_VCENTER))
    $bup1 = GUICtrlCreateButton(ChrW(9650), 323, 50, 22, 25, BitOR($BS_CENTER, $BS_VCENTER))
    GUICtrlSetColor(-1,0x0000ff)
    $bdown = GUICtrlCreateButton(ChrW(9661), 323, 374, 22, 25, BitOR($BS_CENTER, $BS_VCENTER))
    $bdown1 = GUICtrlCreateButton(ChrW(9660), 323, 350, 22, 25, BitOR($BS_CENTER, $BS_VCENTER))
    GUICtrlSetColor(-1,0x0000ff)
    $win3 = GUICtrlCreateTabItem($tab3)
    createtabc()
    $y = 25
    $w = 1
    $add3 = GUICtrlCreateButton("Add Program", 95, 400, 73, 25)
    $remove3 = GUICtrlCreateButton("Remove Program", 180, 400, 90, 25)
    GUICtrlCreateLabel("", 324, 70, 20, 290, $SS_BLACKFRAME)
    $cup = GUICtrlCreateButton(ChrW(9651), 323, 26, 22, 25, BitOR($BS_CENTER, $BS_VCENTER))
    $cup1 = GUICtrlCreateButton(ChrW(9650), 323, 50, 22, 25, BitOR($BS_CENTER, $BS_VCENTER))
    GUICtrlSetColor(-1,0x0000ff)
    $cdown = GUICtrlCreateButton(ChrW(9661), 323, 374, 22, 25, BitOR($BS_CENTER, $BS_VCENTER))
    $cdown1 = GUICtrlCreateButton(ChrW(9660), 323, 350, 22, 25, BitOR($BS_CENTER, $BS_VCENTER))
    GUICtrlSetColor(-1,0x0000ff)
    GUICtrlCreateTabItem("")
    GUICtrlSetState ($curtab, $GUI_SHOW)
    GUISetState(@SW_SHOW)
EndFunc   ;==>gui

You can change text color if you like (on hover? :blink: ).

Link to comment
Share on other sites

Maybe I can play with that idea, however, that character or code doesn't seem to work on my machine. it just gives me a box and makes the gui always think the add program button is being pressed ;)

*edit*

I was thinking of using some bitmaps to cover those buttons with though. I will definately look into hover changes, thanks for the idea!

Also, I'm nearly finished with the ability to add and remove up to 4 additional tabs :blink:

Edited by kaotkbliss

010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

Link to comment
Share on other sites

Very cool! Mind if I dissect your gui and see if I can use it in my program?

010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

Link to comment
Share on other sites

Try this highly modified version. I generalized most of the functions. Tell me what you think...

#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseX64=n
#AutoIt3Wrapper_AU3Check_Stop_OnWarning=y
#AutoIt3Wrapper_AU3Check_Parameters=-w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -d
#AutoIt3Wrapper_Run_Tidy=y
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <Array.au3>
#include <File.au3>
#include <staticconstants.au3>

AutoItSetOption("trayicondebug", 1)

Global Const $plDataIni = @ScriptDir & "\pldata.ini"

If Not FileExists($plDataIni) Then firstrun()

Global $proga[10], $progb[10], $progc[10]
Global $htab, $add1, $add2, $add3, $fileitem1, $fileitem2, $main, $remove1, $remove2, $remove3
Global $aup, $aup1, $adown, $adown1, $bup, $bup1, $bdown, $bdown1, $cup, $cup1, $cdown, $cdown1
Global $a = 1, $b = 1, $c = 1, $msg, $run, $w, $y, $taba, $tabb, $tabc

gui()

While 1

    $msg = GUIGetMsg()

    Select
        Case $msg = $add1
            CreatePath('a')

        Case $msg = $add2
            CreatePath('b')

        Case $msg = $add3
            CreatePath('c')

        Case $msg = $fileitem1
            addtab()

        Case $msg = $fileitem2
            DeleteTab()

;~      Case $msg = $remove1
;~          RemoveTab()

;~      Case $msg = $remove2
;~          RemoveTab('b')

;~      Case $msg = $remove3
;~          RemoveTab('b')

        Case $msg = $adown

            _FileReadToArray(@ScriptDir & "\taba.cfg", $taba)

            If IsArray($taba) Then
                $a += 5
                If $a > $taba[0] Then $a = $taba[0]
                pos()
                GUIDelete($main)
                gui()
            EndIf

        Case $msg = $adown1

            _FileReadToArray(@ScriptDir & "\taba.cfg", $taba)

            If IsArray($taba) Then
                $a += 1
                If $a > $taba[0] Then $a = $taba[0]
                pos()
                GUIDelete($main)
                gui()
            EndIf

        Case $msg = $aup

            _FileReadToArray(@ScriptDir & "\taba.cfg", $taba)

            If IsArray($taba) Then
                $a -= 5
                If $a < 1 Then $a = 1
                pos()
                GUIDelete($main)
                gui()
            EndIf

        Case $msg = $aup1

            _FileReadToArray(@ScriptDir & "\taba.cfg", $taba)

            If IsArray($taba) Then
                $a -= 1
                If $a < 1 Then $a = 1
                pos()
                GUIDelete($main)
                gui()
            EndIf

        Case $msg = $bdown

            _FileReadToArray(@ScriptDir & "\tabb.cfg", $tabb)

            If IsArray($tabb) Then
                $b += 5
                If $b > $tabb[0] Then $b = $tabb[0]
                pos()
                GUIDelete($main)
                gui()
            EndIf

        Case $msg = $bdown1

            _FileReadToArray(@ScriptDir & "\tabb.cfg", $tabb)

            If IsArray($tabb) Then
                $b += 1
                If $b > $tabb[0] Then $b = $tabb[0]
                pos()
                GUIDelete($main)
                gui()
            EndIf

        Case $msg = $bup

            _FileReadToArray(@ScriptDir & "\tabb.cfg", $tabb)

            If IsArray($tabb) Then
                $b -= 5
                If $b < 1 Then $b = 1
                pos()
                GUIDelete($main)
                gui()
            EndIf

        Case $msg = $bup1

            _FileReadToArray(@ScriptDir & "\tabb.cfg", $tabb)

            If IsArray($tabb) Then
                $b -= 1
                If $b < 1 Then $b = 1
                pos()
                GUIDelete($main)
                gui()
            EndIf

        Case $msg = $cdown

            _FileReadToArray(@ScriptDir & "\tabc.cfg", $tabc)

            If IsArray($tabc) Then
                $c += 5
                If $c > $tabc[0] Then $c = $tabc[0]
                pos()
                GUIDelete($main)
                gui()
            EndIf

        Case $msg = $cdown1

            _FileReadToArray(@ScriptDir & "\tabc.cfg", $tabc)

            If IsArray($tabc) Then
                $c += 1
                If $c > $tabc[0] Then $c = $tabc[0]
                pos()
                GUIDelete($main)
                gui()
            EndIf

        Case $msg = $cup

            _FileReadToArray(@ScriptDir & "\tabc.cfg", $tabc)

            If IsArray($tabc) Then
                $c -= 5
                If $c < 1 Then $c = 1
                pos()
                GUIDelete($main)
                gui()
            EndIf

        Case $msg = $cup1

            _FileReadToArray(@ScriptDir & "\tabc.cfg", $tabc)

            If IsArray($tabc) Then
                $c -= 1
                If $c < 1 Then $c = 1
                pos()
                GUIDelete($main)
                gui()
            EndIf

        Case $msg = $GUI_EVENT_CLOSE

            pos()
            GUIDelete()
            Exit (1)

        Case $msg > 0

            $run = GUICtrlRead($msg)
            Run($run)
    EndSelect
WEnd

; =====================================================================================================

Func addtab()
    ConsoleWrite('@@ (216) :(' & @MIN & ':' & @SEC & ') addtab()' & @CR) ;### Function Trace
    ; nothing
EndFunc ;==>addtab

; =====================================================================================================

Func CreatePath(Const $abc)
    ConsoleWrite('@@ (223) :(' & @MIN & ':' & @SEC & ') CreatePath()' & @CR) ;### Function Trace

    Local Const $adpro = GUICreate("Add Program", 200, 30, -1, -1, -1, $WS_EX_ACCEPTFILES)

    Local Const $ftpr = GUICtrlCreateInput('', 1, 4, 160, 20)
    GUICtrlSetState($ftpr, $GUI_DROPACCEPTED)

    Local Const $prin = GUICtrlCreateButton("OK", 165, 1)

    GUISetState(@SW_SHOW)

    Local $msg2

    While 1

        $msg2 = GUIGetMsg()

        Select

            Case $msg2 = $prin

                Local Const $read = GUICtrlRead($ftpr)
                FileWriteLine(@ScriptDir & "\tab" & $abc & ".cfg", $read)
                ExitLoop

            Case $msg2 = $GUI_EVENT_CLOSE
                ExitLoop
        EndSelect
    WEnd

    GUIDelete($adpro)

    pos()

    Tab($abc)
EndFunc ;==>CreatePath

; =====================================================================================================

Func CreateTab(ByRef $tabArray, Const $abc)
    ConsoleWrite('@@ (263) :(' & @MIN & ':' & @SEC & ') CreateTab()' & @CR) ;### Function Trace

    Local $y = 0

    For $i = 0 To UBound($tabArray) - 1
        $tabArray[$i] = GUICtrlCreateLabel('', 65, $y + 15, 185, 24)
        $y += 40
    Next

    Tab($abc)
EndFunc ;==>CreateTab

; =====================================================================================================

Func DeleteTab()
    ConsoleWrite('@@ (278) :(' & @MIN & ':' & @SEC & ') deltab()' & @CR) ;### Function Trace

    Local $remtab[3]

    For $i = 0 To UBound($remtab) - 1
        $remtab[$i] = IniRead($plDataIni, "Tab", $i + 1, '')
    Next

    Local Const $remove = GUICreate("Remove", 400, 500)
    Local Const $del = GUICtrlCreateButton("Delete", 180, 460, 50, 30)
    Local Const $list = GUICtrlCreateListView("Select tab then click delete", 1, 1, 398, 450)

    For $i = 0 To UBound($remtab) - 1

        If $remtab[$i] <> '' Then

            GUICtrlCreateListViewItem($remtab[$i] & '|', $list)
        EndIf
    Next

    GUISetState(@SW_SHOW)

    Local $msg2;, $select, $select1, $select2, $new, $new2, $file, $read

    While 1

        $msg2 = GUIGetMsg()

        If $msg2 = $del Then

;~          $select = GUICtrlRead($list)
;~          $select1 = GUICtrlRead($select)
;~          $select2 = StringTrimRight($select1, 1)
;~          $read = FileRead($cfgFile)
;~          $new = StringReplace($read, $select2, '')
;~          $new2 = StringReplace($new, @LF & @LF, @LF)
;~          $file = FileOpen($cfgFile, 2)
;~          FileWrite($file, $new2)
;~          FileClose($file)
            ExitLoop

        ElseIf $msg2 = $GUI_EVENT_CLOSE Then

            GUIDelete($remove)
            ExitLoop

        EndIf
    WEnd

    pos()

    GUIDelete($remove)
    GUIDelete($main)

    gui()
EndFunc ;==>DeleteTab

; =====================================================================================================

Func firstrun()
    ConsoleWrite('@@ (285) :(' & @MIN & ':' & @SEC & ') firstrun()' & @CR) ;### Function Trace

    Local Const $1 = InputBox("Enter Tab 1 Name", "Enter a Name for Tab 1", "Tab1")
    IniWrite($plDataIni, "Tab", 1, $1)

    Local Const $2 = InputBox("Enter Tab 2 Name", "Enter a Name for Tab 2", "Tab2")
    IniWrite($plDataIni, "Tab", 2, $2)

    Local Const $3 = InputBox("Enter Tab 3 Name", "Enter a Name for Tab 3", "Tab3")
    IniWrite($plDataIni, "Tab", 3, $3)
EndFunc ;==>firstrun

; =====================================================================================================

Func gui()
    ConsoleWrite('@@ (300) :(' & @MIN & ':' & @SEC & ') gui()' & @CR) ;### Function Trace

    Local Const $posx = IniRead($plDataIni, "pos", 1, -1)
    Local Const $posy = IniRead($plDataIni, "pos", 2, -1)
    Local Const $tab1 = IniRead($plDataIni, "Tab", 1, "Tab1")
    Local Const $tab2 = IniRead($plDataIni, "Tab", 2, "Tab2")
    Local Const $tab3 = IniRead($plDataIni, "Tab", 3, "Tab3")
    Local Const $curtab = Int(IniRead($plDataIni, "curtab", 1, $tab1))

    $main = GUICreate("Program Launcher", 350, 446, $posx, $posy)
    Local Const $filemenu = GUICtrlCreateMenu("Options")
    $fileitem1 = GUICtrlCreateMenuItem("Add Tab", $filemenu)
    $fileitem2 = GUICtrlCreateMenuItem("Remove Tab", $filemenu)
    $htab = GUICtrlCreateTab(2, 2, 346, 426)

    GUICtrlCreateTabItem($tab1)
    CreateTab($proga, 'a')
    $add1 = GUICtrlCreateButton("Add Program", 95, 400, 73, 25)
    $remove1 = GUICtrlCreateButton("Remove Program", 180, 400, 90, 25)
    GUICtrlCreateLabel('', 324, 64, 22, 295, $SS_BLACKFRAME)
    $aup = GUICtrlCreateButton("/\" & @CR & "/\", 323, 26, 22, 25, BitOR($BS_MULTILINE, $BS_CENTER))
    $aup1 = GUICtrlCreateButton("/\", 323, 50, 22, 22, BitOR($BS_MULTILINE, $BS_CENTER))
    $adown = GUICtrlCreateButton("\/" & @CR & "\/", 323, 373, 22, 25, BitOR($BS_MULTILINE, $BS_VCENTER))
    $adown1 = GUICtrlCreateButton("\/", 323, 352, 22, 22, $BS_VCENTER)

    GUICtrlCreateTabItem($tab2)
    CreateTab($progb, 'b')
    $add2 = GUICtrlCreateButton("Add Program", 95, 400, 73, 25)
    $remove2 = GUICtrlCreateButton("Remove Program", 180, 400, 90, 25)
    GUICtrlCreateLabel('', 324, 64, 22, 295, $SS_BLACKFRAME)
    $bup = GUICtrlCreateButton("/\" & @CR & "/\", 323, 26, 22, 25, BitOR($BS_MULTILINE, $BS_CENTER))
    $bup1 = GUICtrlCreateButton("/\", 323, 50, 22, 22, BitOR($BS_MULTILINE, $BS_CENTER))
    $bdown = GUICtrlCreateButton("\/" & @CR & "\/", 323, 373, 22, 25, BitOR($BS_MULTILINE, $BS_VCENTER))
    $bdown1 = GUICtrlCreateButton("\/", 323, 352, 22, 22, $BS_VCENTER)

    GUICtrlCreateTabItem($tab3)
    CreateTab($progc, 'c')
    $add3 = GUICtrlCreateButton("Add Program", 95, 400, 73, 25)
    $remove3 = GUICtrlCreateButton("Remove Program", 180, 400, 90, 25)
    GUICtrlCreateLabel('', 324, 64, 22, 295, $SS_BLACKFRAME)
    $cup = GUICtrlCreateButton("/\" & @CR & "/\", 323, 26, 22, 25, BitOR($BS_MULTILINE, $BS_CENTER))
    $cup1 = GUICtrlCreateButton("/\", 323, 50, 22, 22, BitOR($BS_MULTILINE, $BS_CENTER))
    $cdown = GUICtrlCreateButton("\/" & @CR & "\/", 323, 373, 22, 25, BitOR($BS_MULTILINE, $BS_VCENTER))
    $cdown1 = GUICtrlCreateButton("\/", 323, 352, 22, 22, $BS_VCENTER)

    GUICtrlCreateTabItem('')
    GUICtrlSetState($curtab, $GUI_SHOW)

    GUISetState(@SW_SHOW)
EndFunc ;==>gui

; =====================================================================================================

Func pos()
    ConsoleWrite('@@ (354) :(' & @MIN & ':' & @SEC & ') pos()' & @CR) ;### Function Trace

    Local Const $pos = WinGetPos($main)
    IniWrite($plDataIni, "pos", 1, $pos[0])
    IniWrite($plDataIni, "pos", 2, $pos[1])

    Local Const $curtab = Int(GUICtrlRead($htab, 1))
    IniWrite($plDataIni, "curtab", 1, $curtab)
EndFunc ;==>pos

; =====================================================================================================

;~ Func RemoveTab(Const $abc)
;~  ConsoleWrite('@@ (367) :(' & @MIN & ':' & @SEC & ') RemoveTab()' & @CR) ;### Function Trace

;~ EndFunc ;==>RemoveTab

; =====================================================================================================

Func Tab(Const $abc)
    ConsoleWrite('@@ (427) :(' & @MIN & ':' & @SEC & ') Tab()' & @CR) ;### Function Trace
    Local $tab, $w = 1, $y = 25, $but[1], $execString

    _FileReadToArray(@ScriptDir & "\tab" & $abc & ".cfg", $tab)

    If IsArray($tab) Then

        If (Int($tab[0]) - $a) > 9 Then

            Local $name, $o

            For $i = $a To $a + 8

                If $tab[$i] <> '' Then

                    If $y > 385 Then
                        $y = 385
                    EndIf

                    GUICtrlCreateLabel('', 36, $y, 287, 40, $SS_BLACKFRAME)
                    $name = StringSplit($tab[$i], '\')
                    $o = $name[0]
                    Int($o)

                    If $w > 9 Then
                        $w = 9
                    EndIf

                    $execString = "GUICtrlSetData($prog" & $abc & "[$w], $name[$o])"
                    MsgBox(262144, 'Debug line ~' & @ScriptLineNumber, 'Selection:' & @LF & '$execString' & @LF & @LF & 'Return:' & @LF & $execString) ;### Debug MSGBOX

                    Execute($execString)

                    _ArrayAdd($but, $w)

                    $but[$w] = GUICtrlCreateButton('', 5, $y + 1, 40, 40, $BS_ICON)

                    GUICtrlSetData($but[$w], $tab[$i])
                    GUICtrlSetImage($but[$w], ' ' & $tab[$i] & ' ', 1)

                    $y += 40
                    $w += 1
                EndIf
            Next

        ElseIf (Int($tab[0]) - $a) < 10 Then

            For $i = $a To UBound($tab) - 1

                If $tab[$i] <> '' Then

                    If $y > 385 Then
                        $y = 385
                    EndIf

                    GUICtrlCreateLabel($tab[$i], 36, $y, 287, 40, $SS_BLACKFRAME)
                    $name = StringSplit($tab[$i], '\')
                    $o = $name[0]
                    Int($o)

                    If $w > 9 Then
                        $w = 9
                    EndIf

                    $execString = "GUICtrlSetData($prog" & $abc & "[$w], $name[$o])"

                    Execute($execString)

                    _ArrayAdd($but, $w)

                    $but[$w] = GUICtrlCreateButton($tab[$i], 5, $y + 1, 40, 40, $BS_ICON)

                    GUICtrlSetData($but[$w], $tab[$i])
                    GUICtrlSetImage($but[$w], $tab[$i], 1)

                    $y += 40
                    $w += 1
                EndIf
            Next
        EndIf
    EndIf
EndFunc ;==>Tab

; =====================================================================================================
Link to comment
Share on other sites

Oh well, it was worth a shot...

yes :blink: thanks for the try.

I think it will look pretty sweet with the gui taietel created though.

Updated to ver 1.2

010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

Link to comment
Share on other sites

Some changes made

Changed the look of the tabs to match the GUI

Added a "Keep on Top" Option

Pulled the dll out of the code and saved it as a seperate file

Find the updated download in the first post.

Also I am going to add color change to the currently selected "tab" for easier reference.

010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

Link to comment
Share on other sites

New version 2.3

Tabs now highlight to show which list is selected

Icons have been fixed:

it was as simple as switching these 2 lines in each list creation

GUICtrlCreateListViewItem($name[$o] & "|" & $remtaba[$i], $ListView)

GUICtrlSetImage($ListView, $remtaba[$i])

to this

GUICtrlSetImage($ListView, $remtaba[$i])

GUICtrlCreateListViewItem($name[$o] & "|" & $remtaba[$i], $ListView)

then in the ListView_Add function

GUICtrlCreateListViewItem($name[$o] & "|" & $file, $ListView)

GUICtrlSetImage($ListView, $file, 1)

to this

GUICtrlSetImage($ListView, $file, 1)

GUICtrlCreateListViewItem($name[$o] & "|" & $file, $ListView)

I still cannot get the very first program in the list to launch though ;)

The way around that is to add the first program in the list 2x, after that all additional programs are fine.

010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

Link to comment
Share on other sites

Gah, I can't believe it was so simple...

To fix the first item in the list so it runs when double clicked, change

$extrax = 2

$extray = 24

to both = 1

($extrax = 1

$extray = 1)

This change needs to be made in botht he global variables and in the Gadget_CreateGui while loop.

I am working on fixing the right click bug where the main gui will attach itself to the mouse when you right click to remove a program (after you select yes or no)

Updating the original post.

010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

Link to comment
Share on other sites

New Version 2.4!

Fixed the gui getting "stuck" to the mouse after a right click

Added renaming of items in the list

Moved the "about" screen so it wasn't covered with "Set on Top" checked

Still working on reordering of the list, but it's looking like I may give up on that.

When you rename an item, it will get moved to the bottom of the list, but on close and reopen will go back to original order. (It's the GUICtrlCreateListViewItem after the rename that sets it to the bottom, but when it is re-run, it lists them in order of lines in the .cfg file)

010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

Link to comment
Share on other sites

I am working on the next update with adds the ability to change skin colors. There is only room for 6 so I would like to know from those of you who use this, what colors you would like to see.

Currently I have:

Black (current color)

Red

Blue

Green

Purple (for the women ;))

and Gold/Yellow

010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

Link to comment
Share on other sites

New version added! (see first post for download)

Removed gui from taskbar (I didn't feel there was a need to have it there)

Added opening a files properties to right click menu (for quick access to compatibility or read only changes)

Fixed issue with icon dissapearing from the tray durring show/hide

Added skin colors

Can now add url's,lnk and just about any other file to the gui and launch

Beyond that, I can't remember.

So now you can add your doc files, pdf's, mp3 music files, internet favorites and so on and open any of them from a single gui on your desktop.

As always, please let me know if you find any bugs!

010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

Link to comment
Share on other sites

Ver 2.5.0.1

Sometimes when showing and hiding the Gui, the task manager icon would dissapear and the Gui would not pop to the top

Also, sometimes durring resolution changes the Gui would end up off screen with no way to bring it back

So, I fixed these by some minor code changes and adding an addition to the icon's menu for moving the Gui.

If you don't want to download the entire thing all over, just add this to the end of the code

Func _MoveGui()
    Do
        $mousepos=MouseGetPos()
        WinMove($hGui,"",$mousepos[0],$mousepos[1])
    Until _IsPressed(01)
    TrayItemSetState($mGui,$TRAY_UNCHECKED)
EndFunc

change the _Tray_ShowGUI() function to this

Func _Tray_ShowGUI()
    TrayItemSetState($mTray, 4)
    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hGUI, "int", 150, "long", 0x00040010)
    GUISetState(@SW_SHOW, $hGUI)
    WinActivate ( $hGui )
EndFunc   ;==>_Tray_ShowGUI

And change the _Tray() function to this

Func _Tray()
    TraySetIcon($icn_dll, -5)
    TraySetClick("16")
    $mTray = TrayCreateItem("Show the window")
    TrayItemSetOnEvent($mTray, "_Tray_ShowGUI")
    $mGui = TrayCreateItem("Move the window")
    TrayItemSetOnEvent($mGui, "_MoveGui")
    TrayCreateItem("")
    Local $mTrayX = TrayCreateItem("Exit")
    TrayItemSetOnEvent($mTrayX, "_Tray_Exit")
EndFunc   ;==>_Tray

I believe that is all the changes.

010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

Link to comment
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
 Share

×
×
  • Create New...