Jump to content
Sign in to follow this  
kaotkbliss

Program Launcher

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!

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
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!

Share this post


Link to post
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: ).

Share this post


Link to post
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!

Share this post


Link to post
Share on other sites

Here I've tried some GUI things. Maybe it helps.

Those symbols were some arrows. My mistake that I didn't thought they're not on every system!

Share this post


Link to post
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!

Share this post


Link to post
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

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

Share this post


Link to post
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!

Share this post


Link to post
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!

Share this post


Link to post
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!

Share this post


Link to post
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!

Share this post


Link to post
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!

Share this post


Link to post
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!

Share this post


Link to post
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!

Share this post


Link to post
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!

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  

  • Similar Content

    • By bluebug
      Hi, guys!
      I'm new with using Autoit.
      Is possible do an automation to an application desktop java using Autoit?
       
       
    • By morion84
      Hi, when I call a MsgBox function I can use a "$MB_SERVICE_NOTIFICATION" flag so it will be displayed "on the current active desktop, even if there is no user logged on to the computer.". That works just great. Is there a way to do the same to Autoit GUI Form so it will be visible on desktop even if running from system account and user is not logged?
    • By KaFu
      ICU - Icon Configuration Utility

      Current Version: v6 (2018-Sep-16)
      Restore your desktop when the icons get "rearranged".
      Melba23 and I found we were working on very similar ideas to restore the Desktop icons to their normal place if they became "rearranged" (
      ). Vista seems to like this doing on occasion just for fun - but we all know some apps and games which change the display resolution or move icons around. This annoys "tidy" people who like their desktops arranged "just so" - I am particularly thinking of this desktop when I say that!
      We combined efforts and here is the result of our labors.
      Operation is easy - press "Save" to store a particular configuration and "Restore" to reset the icons to the saved positions in the selected configuration file. "Delete" allows you to remove unwanted configuration files from the list. There is a command line option so that the restoration can be run via HotKeys if required (that is why the script warns that it should be compiled for full functionality). You can decide what to do with any icons that have been added since you last saved the configuration file - the default is to put them in the top-left corner, but you can also banish them way off-screen or, more sensibly, specify a location for them.
      A new feature as of ICU v3.4 is the optional Desktop Contextmenu Integration (DCI) for Win7 (Win7 only because Microsoft implemented an easy way to do this through the registry as of this release).
      Version 3.3 should fix the empty save file bug
      Version 3.4 Win7: Admin rights no longer needed for DCI
      Version 5.0 Win8 compatibility for DCI
      The source and executable can be downloaded from my site: http://www.funk.eu
      Kudos to Ascend4nt, Melba23, Prog@ndy, & Valik for parts of the code.
      Please let me know if you found some piece of code in the source for which I forgot to mention a credit.
      Enjoy, let me know what you think of ICU and with Best Regards
    • By copyleft
      I am trying to create a script to clean up users' desktops by moving all desktop folders and files (except the two hidden "desktop.ini" files and a MyDesktop.lnk shortcut) to a different folder. The script below will move files but not folders. The other issue with the script is that it doesn't seem to execute from a location other than the user's desktop. I would appreciate any suggestions.
      #include <File.au3> MsgBox(64, "Desktop", "Cleaning up Desktop. This box will close in 4 seconds.", 4) $Files = _FileListToArray(@DesktopDir,"*",1) For $Index = 1 To $Files[0] If StringRight($Files[$Index],4) <> ".ini, MyDesktop.lnk" Then FileMove($Files[$Index],'F:\HOME\Desktop') EndIf Next  
    • By ur
      Is there any way to launch an application once I receive an email.
      I have an executable created in autoit and I am running it regularly on daily basis using task scheduler on windows.
      And sometimes I am running it again manually if someone asks to.
      Is there anyway to configure an email so that when I send a mail to that particular email ID then it should launch that exe directly?
×
×
  • Create New...