MODIFIED = 20071223 /* NAME = MENU_ICONS.ahk the 5 variables when edit column/row: C1 =name ,opens a second LV when name contains [] C2 =run program with once click C3 =ico or streamripper URL C4 =(u) run program when selected with rightclick C5 =(v) run program when selected with rightclick once click = RUN C2 rightlick on row/column (mark) e = edit textfiles f = open folders u = run C4 v = run C5 del = delete < = move back > = move forward insert = insert before edit = edit STREAMRIPPER.....................http://streamripper.sourceforge.net/ streamripper.exe & tre.dll .................................records URL internet radio remark ( -replace notespad with notepad ) */ #SingleInstance force setworkingdir, %a_scriptdir% ;Gui,2: +Resize Gui,2:default transform,S,chr,32 nothing1=%S% %S% AHKSCRIPTS=%A_scriptDir%\1A_MyAhkPrograms ;subfolder for ahk scripts ifnotexist,%AHKSCRIPTS% FileCreateDir,%AHKSCRIPTS% SAPROGRAMS=%A_scriptDir%\1A_MySAprograms ;subfolder for Stand-alone programs ifnotexist,%SAPROGRAMS% FileCreateDir,%SAPROGRAMS% R3CSV=%A_scriptDir%\LV_MENU_ICONS_Subfolder ;subfolder for this script ifnotexist,%R3CSV% FileCreateDir,%R3CSV% R3CSVa=LV_MENU_ICONS_Subfolder ;(for streamripper) F199F =%R3CSV%\_CSV ;place to open csv files C1=name[] see example adresses.csv ifnotexist,%F199F% FileCreateDir,%F199F% SUBFOLDER1 =%R3CSV% STREAMRIPPER =%subfolder1%\streamripper\streamripper.exe MyPLAYER =%A_ProgramFiles%\K-Lite Codec Pack\Media Player Classic\mplayerc.exe PLS=%R3CSV%\_PLS ;pls radiostart ifnotexist,%PLS% FileCreateDir,%PLS% R3ICO=%R3CSV%\ICO ;here are the icons ifnotexist,%R3ICO% FileCreateDir,%R3ICO% EMAILS=%R3CSV%\_EMAILSTOSEND ;can put here some files to send with Mozilla Thunderbird ifnotexist,%EMAILS% FileCreateDir,%EMAILS% CSVFILES=%R3CSV%\CSVFILES ;here are files for row/colums saved ifnotexist,%CSVFILES% FileCreateDir,%CSVFILES% F11=%CSVFILES%\File11.txt F12=%CSVFILES%\File12.txt F13=%CSVFILES%\File13.txt F14=%CSVFILES%\File14.txt F15=%CSVFILES%\File15.txt gosub,gosub11 ;create testfiles if not exist firsttime for test ( see lastlines ) ; remove this later WA=%A_screenwidth% HA=%A_screenheight% SW :=(WA*98)/100 ;Gui width GSH :=(HA*94)/100 ;Gui height DRI2 :=(SW/5 ) DRI2a:=(DRI2+100) DRI2b:=(DRI2+160) DRI2c:=(DRI2+190) DRI3 :=(2*DRI2) DRI3a:=(DRI3+100) DRI3b:=(DRI3+160) DRI3c:=(DRI3+190) DRI4 :=(3*DRI2) DRI4a:=(DRI4+100) DRI4b:=(DRI4+160) DRI4c:=(DRI4+190) DRI5 :=(4*DRI2) DRI5a:=(DRI5+100) DRI5b:=(DRI5+160) DRI5c:=(DRI5+175) DRI6 :=(DRI5+210) ;x lastpos LSW :=(DRI2-0) ;ListView width LSH :=(HA*87)/100 ;ListView height DNY1 :=(HA*88)/100 ; Y-Pos Button DNY2 :=(HA*91)/100 ; Y-Pos Button DNY3 :=(HA*90)/100 ; Y-Pos Button TDY :=(HA*88)/100 ;Y position Textfield below when mplayerc starts ;---------Columns width -------------------------------------- T1:=(DRI2-30) ;Icon and name T2=0 ;program to start (once click) T3=0 ;add extra Icon (r) for record T4=0 ;program to start (u) T5=0 ;program to start (v) Gui,2:Font,CDefault s14 , Verdana ;---- LV1 ----------------------------------------------------------------------------------------------------- Gui,2:Add, ListView, backgroundGray grid x3 y10 h%LSH% w%LSW% +hscroll altsubmit vMLV1A gMLV1B, DAILY|A2|A3|A4|A5 FileXX=%F11% MLVXX =MLV1A gosub,FillListview ;---- LV-2 --------------------------------------------------------------------------------------- Gui,2:Add, ListView, backgroundSilver grid x%DRI2% y10 +hscroll altsubmit h%LSH% w%LSW% vMLV2A gMLV2B, AUTOHOTKEY|BAA2|BAA3|BAA4|BAA5 FileXX=%F12% MLVXX =MLV2A gosub,FillListview ;---- LV3 ----------------------------------------------------------------------------------------------------- Gui,2:Add, ListView, cWhite backgroundTeal grid x%DRI3% y10 h%LSH% w%LSW% +hscroll altsubmit vMLV3A gMLV3B, TOOL1|CAA2|CAA3|CAA4|CAA5 FileXX=%F13% MLVXX =MLV3A gosub,FillListview ;---- LV4 ----------------------------------------------------------------------------------------------------- Gui,2:Add, ListView, cWhite backgroundTeal grid x%DRI4% y10 h%LSH% w%LSW% +hscroll altsubmit vMLV4A gMLV4B, TOOL2|DAA2|DAA3|DAA4|DAA5 FileXX=%F14% MLVXX =MLV4A gosub,FillListview ;---- LV5 ----------------------------------------------------------------------------------------------------- Gui,2:Add, ListView, backgroundGray grid x%DRI5% y10 h%LSH% w%LSW% +hscroll altsubmit vMLV5A gMLV5B, FUN|EAA2|EAA3|EAA4|EAA5 FileXX=%F15% MLVXX =MLV5A gosub,FillListview Gui,2:Font,CDefault s10 , Verdana Gui,2:add,button,x%DRI6% y%DNY1% h25 w40 gREOPEN ,RLD Gui,2:add,button,x%DRI6% y%DNY2% h25 w40 gSCRIPTD ,SCR Gui,2:add,button,x10 y%DNY1% h25 w90 gAddNew11 ,ADDNEW Gui,2:add,button,x%DRI2% y%DNY1% h25 w90 gAddNew12 ,ADDNEW Gui,2:add,button,x%DRI3% y%DNY1% h25 w90 gAddNew13 ,ADDNEW Gui,2:add,button,x%DRI4% y%DNY1% h25 w90 gAddNew14 ,ADDNEW Gui,2:add,button,x%DRI5% y%DNY1% h25 w90 gAddNew15 ,ADDNEW Gui,2:add,button,x10 y%DNY2% h25 w90 gEdit11 ,Edit Gui,2:add,button,x%DRI2% y%DNY2% h25 w90 gEdit12 ,Edit Gui,2:add,button,x%DRI3% y%DNY2% h25 w90 gEdit13 ,Edit Gui,2:add,button,x%DRI4% y%DNY2% h25 w90 gEdit14 ,Edit Gui,2:add,button,x%DRI5% y%DNY2% h25 w90 gEdit15 ,Edit Gui,2:add,button,x110 y%DNY1% h25 w70 gInsert11 ,Insert Gui,2:add,button,x%DRI2a% y%DNY1% h25 w70 gInsert12 ,Insert Gui,2:add,button,x%DRI3a% y%DNY1% h25 w70 gInsert13 ,Insert Gui,2:add,button,x%DRI4a% y%DNY1% h25 w70 gInsert14 ,Insert Gui,2:add,button,x%DRI5a% y%DNY1% h25 w70 gInsert15 ,Insert Gui,2:add,button,x190 y%DNY1% h25 w30 gED11 ,ED Gui,2:add,button,x%DRI2c% y%DNY1% h25 w30 gED12 ,ED Gui,2:add,button,x%DRI3c% y%DNY1% h25 w30 gED13 ,ED Gui,2:add,button,x%DRI4c% y%DNY1% h25 w30 gED14 ,ED Gui,2:add,button,x%DRI5c% y%DNY1% h25 w30 gED15 ,ED Gui,2:add,button,x110 y%DNY2% h25 w50 gback11 ,< Gui,2:add,button,x%DRI2a% y%DNY2% h25 w50 gback12 ,< Gui,2:add,button,x%DRI3a% y%DNY2% h25 w50 gback13 ,< Gui,2:add,button,x%DRI4a% y%DNY2% h25 w50 gback14 ,< Gui,2:add,button,x%DRI5a% y%DNY2% h25 w50 gback15 ,< Gui,2:add,button,x160 y%DNY2% h25 w50 gForward11 ,> Gui,2:add,button,x%DRI2b% y%DNY2% h25 w50 gForward12 ,> Gui,2:add,button,x%DRI3b% y%DNY2% h25 w50 gForward13 ,> Gui,2:add,button,x%DRI4b% y%DNY2% h25 w50 gForward14 ,> Gui,2:add,button,x%DRI5b% y%DNY2% h25 w50 gForward15 ,> Gui,2: Show,x5 y5 w%SW% h%GSH%, MENU_ICONS %MODIFIED% ;msgbox % A_DefaultGui() return ;-------------------------------------------------------------------------------------------------- ;-------------------------------------- FillListview: Gui,2:default Gui,2:Submit,nohide Gui,2:ListView,%MLVXX% ;ILStatus := IL_Create(1,1,0) ;small ILStatus := IL_Create(1,1,1) ;bigger LV_SetImageList(ILStatus, 1) LV_Delete() LV_ModifyCol(1,T1) LV_ModifyCol(2,T2) LV_ModifyCol(3,T3) LV_ModifyCol(4,T4) LV_ModifyCol(5,T5) I=0 loop,read,%FileXX% { I++ BX1= ;picture and text BX2= ;program hidden BX3= ;reserve this columns for code hidden BX4= BX5= stringsplit,BX,A_LoopReadLine,`;, SplitPath,BX2,,,ext2,, IconNumber := IL_Add(ILSTATUS, "%pictxx05%" ) ;picture which not exist AHK=0 if BX1 contains Autohotkey AHK=1 if BX1 contains AHK AHK=1 if BX2 contains Autohotkey AHK=1 if BX2 contains AHK AHK=1 if BX1 contains txt IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\text.ico" ) if BX2 contains TXT IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\text.ico" ) if (EXT2="AHK" OR AHK=1) IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\ahk.ico" ) EXEX1=.exe`,.dll`,.cpl`,.msc if BX2 contains %exex1% IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\arrows.ico" ) EXEX4=mp3,ram,rm,wav,wma,pls if EXT2 contains %EXEX4% { IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\music.ico" ) goto,LVADD1 } if BX3 contains :8 { IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\music.ico" ) goto,LVADD1 } EXEX3=exe,dll,cpl,msc if EXT2 contains %EXEX3% { IconNumber := IL_Add(ILSTATUS, BX2 ) goto,LVADD1 } EXEX2=txt,doc if EXT2 contains %EXEX2% { IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\text.ico" ) goto,LVADD1 } if BX2 contains http:// IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\ie.ico" ) if BX3=photo IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\camera.ico" ) if BX3=colors IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\colors.ico" ) if BX3=bus IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\bus.ico" ) if BX3=drive IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\drive.ico" ) if BX3=music IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\music.ico" ) if BX3=saw IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\saw.ico" ) if BX3=ch IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\ch.ico" ) if BX3=chm IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\chm.ico" ) if BX3=Post IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\post.ico" ) if BX3=Help IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\Help.ico" ) if BX3=Folder IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\Folder.ico" ) if BX3=phone IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\phone.ico" ) if BX3=train IconNumber := IL_Add(ILSTATUS, "LV_MENU_ICONS_Subfolder\ico\train.ico" ) LVADD1: LV_Add("icon". IconNumber,BX1,BX2,BX3,BX4,BX5) } if FOWD=1 LV_Modify(RowNumber+1, "+Select") if BACK=1 LV_Modify(RowNumber-1, "+Select") return ;----------------------------------------------------------------- REOPEN: reload return SCRIPTD: run,%A_scriptdir% return ED11: run,%F11% return ED12: run,%F12% return ED13: run,%F13% return ED14: run,%F14% return ED15: run,%F15% return ;------------------------------ ;------------------------------ MLV1B: Gui,2:Submit,nohide Gui,2:ListView,MLV1A FileXX=%F11% MLVXX =MLV1A AACA=1 gosub,events return ;-------------------------------------- ;------------------------------ MLV2B: Gui,2:Submit,nohide Gui,2:ListView,MLV2A FileXX=%F12% MLVXX =MLV2A AACA=2 gosub,events return ;-------------------------------------- ;------------------------------ MLV3B: Gui,2:Submit,nohide Gui,2:ListView,MLV3A FileXX=%F13% MLVXX =MLV3A AACA=3 gosub,events return ;-------------------------------------- ;------------------------------ MLV4B: Gui,2:Submit,nohide Gui,2:ListView,MLV4A FileXX=%F14% MLVXX =MLV4A AACA=4 gosub,events return ;-------------------------------------- ;------------------------------ MLV5B: Gui,2:Submit,nohide Gui,2:ListView,MLV5A FileXX=%F15% MLVXX =MLV5A AACA=5 gosub,events return ;-------------------------------------- ;############# EVENTS ############################ EVENTS: RN:=LV_GetNext("C") RF:=LV_GetNext("F") GC:=LV_GetCount() if (RF="" OR RF=0) return if A_GuiEvent=normal { LV_GetText(C1,A_EventInfo,1) LV_GetText(C2,A_EventInfo,2) LV_GetText(C3,A_EventInfo,3) LV_GetText(C4,A_EventInfo,4) LV_GetText(C5,A_EventInfo,5) stringmid,C2v,C2,2,2 ;:\ stringmid,C2a,C2,1,4 if C1 contains [] goto,2nd else { if C3 contains :8 { adre=%PLS%\%C1%.pls ifnotexist,%adre% Fileappend,[playlist]`nNumberOfEntries=1`nFile1=%C3%`n,%adre% run,%adre% LV_Modify(RN, "-Select") gosub,clears1 return } if C2v=:\ { ifexist,%C2% run,%C2% else msgbox,%C2% not exist LV_Modify(RN, "-Select") gosub,clears1 return } run,%C2% } LV_Modify(RN, "-Select") gosub,clears1 return } if A_GuiEvent=K { stringmid,C2a ,C2,2,2 ;:\ stringmid,C2b ,C2,1,7 ;http:// stringmid,C2c ,C2,1,4 ;www. stringmid,C4a ,C4,2,2 stringmid,C4b ,C4,1,7 stringmid,C4c ,C4,1,4 stringmid,C5a ,C5,2,2 stringmid,C5b ,C5,1,7 stringmid,C5c ,C5,1,4 GetKeyState,state,DEL if state=D { gosub,deletexx gosub,clears1 return } GetKeyState,state,e ;edit script ahk or text if state=D { SplitPath,C2, name, dir, ext, name_no_ext, drive stringmid,C2e,C2,2,2 ;:\ if (ext="ahk" or ext="txt" or ext="csv") { if C2e=:\ { ;run,1A_MySaPrograms\_NOTESPAD\Notespad.exe "%C2%" run,notepad "%C2% gosub,clears1 return } /* if C1 contains [] { C2=%F199F%\%C2% run,1A_MySaPrograms\_NOTESPAD\Notespad.exe "%C2%" ;run,notepad "%C2% gosub,clears1 return } */ C2=%A_scriptdir%\%C2% ;run,1A_MySaPrograms\_NOTESPAD\Notespad.exe "%C2%" run,notepad "%C2% gosub,clears1 return } gosub,clears1 return } GetKeyState,state,f ;open folder if state=D { if C2a=:\ { SplitPath,C2, name, dir2, ext, name_no_ext, drive run,%dir2% gosub,clears1 return } if (c2b="http://" or c2c="www.") return { C2e=%A_scriptdir%\%C2% SplitPath,C2e, name, dir3, ext, name_no_ext, drive run,%dir3% gosub,clears1 return } gosub,clears1 return } GetKeyState,state,r ;RECORD streamripper if state=D { if C3 not contains :8 return ifexist,%streamripper% run,%COMSPEC% /K "%streamripper%" %C3% --xs_padding=7000:9000 -t -d %R3CSVa%\_STREAM ; run,%COMSPEC% /K "%streamripper%" %C3% --xs_padding=7000:9000 -t -d LV_MENU_ICONS_Subfolder\_STREAM gosub,clears1 return } GetKeyState,state,u ;run C4 if state=D { if (C4="") { gosub,clears1 return } if (C4a=":\" OR C4b="http://" OR C4c="www.") { run,%C4% gosub,clears1 return } else { C4=%A_scriptdir%\%C4% run,%C4% gosub,clears1 return } gosub,clears1 return } GetKeyState,state,v ;run C5 if state=D { if (C5="") { gosub,clears1 return } if (C5a=":\" OR C5b="http://" OR C5c="www.") { run,%C5% gosub,clears1 return } else { C5=%A_scriptdir%\%C5% run,%C5% gosub,clears1 return } gosub,clears1 return } LV_Modify(RN, "-Select") C1= C2= C3= C4= C5= } ;------------------ END GUIEVENT K ------------------------------------------- if A_GuiEvent=Rightclick { LV_Modify(RN, "-Select") LV_GetText(C1,A_EventInfo,1) LV_GetText(C2,A_EventInfo,2) LV_GetText(C3,A_EventInfo,3) LV_GetText(C4,A_EventInfo,4) LV_GetText(C5,A_EventInfo,5) LV_Modify(RN, "+Select") AACA=%AACA% return } if A_GuiEvent = DoubleClick { LV_GetText(C1,A_EventInfo,1) LV_GetText(C2,A_EventInfo,2) LV_GetText(C3,A_EventInfo,3) LV_GetText(C4,A_EventInfo,4) LV_GetText(C5,A_EventInfo,5) ;msgbox,%C1%`r`n%C2%`r`n%C3% ;run,%C2% return } return ;################ END EVENTS ########################### clears1: C1= C2= C3= C4= C5= LV_Modify(RN, "-Select") return ;--------- Delete -------------------- DELETEXX: if (RF="" OR RF=0) return LV_GetText(C1,RF,1) LV_GetText(C2,RF,2) LV_GetText(C3,RF,3) LV_GetText(C4,RF,4) LV_GetText(C5,RF,5) MsgBox, 4, ,Want you really delete from this list`n%C1%`n%C2%`n%C3%`n%C4%`n%C5% ? IfMsgBox,No Return Else { LV_Delete(RF) RN=0 filedelete,%FILEXX% Loop % LV_GetCount() { BX1= BX2= BX3= BX4= BX5= LV_GetText(BX1,A_INDEX,1) LV_GetText(BX2,A_INDEX,2) LV_GetText(BX3,A_INDEX,3) LV_GetText(BX4,A_INDEX,4) LV_GetText(BX5,A_INDEX,5) fileappend,%BX1%;%BX2%;%BX3%;%BX4%;%BX5%`r`n,%FILEXX% } } gosub,filllistview return ;--------------------------------------------------------------------- 2Guiclose: exitapp ;========================== OPEN TEXT FILE =================================================== OPEN11: Gui,2:Submit,nohide FileXX=%F11% MLVXX =MLV1A goto,OPENx OPEN12: FileXX=%F12% MLVXX =MLV2A goto,OPENx OPEN13: FileXX=%F13% MLVXX =MLV3A goto,OPENx OPEN14: FileXX=%F14% MLVXX =MLV4A goto,OPENx OPEN15: FileXX=%F15% MLVXX =MLV5A OPENX: Gui,2:Submit,nohide ;run,1A_MySaPrograms\_NOTESPAD\Notespad.exe "%FileXX%" run,notepad "%FileXX%" return ;---------------------------------------- ;========================== LV-ADD NEW =================================================== AddNew11: Gui,2:Submit,nohide FileXX=%F11% MLVXX =MLV1A goto,addnewx AddNew12: FileXX=%F12% MLVXX =MLV2A goto,addnewx AddNew13: FileXX=%F13% MLVXX =MLV3A goto,addnewx AddNew14: FileXX=%F14% MLVXX =MLV4A goto,addnewx AddNew15: FileXX=%F15% MLVXX =MLV5A ADDNEWX: Gui,2:Submit,nohide GuiControl,11:Focus,Name Gui,11:Font, S10 CDefault , FixedSys Gui,11:Add,Text, x1 y5 w80 h20, Name Gui,11:Add,Edit, x80 y5 w500 h20 vA21, Gui,11:Add,Text, x1 y30 w80 h20, Run Gui,11:Add,Edit, x80 y30 w500 h20 vA22, Gui,11:Add,Text, x1 y55 w80 h20, Ico Gui,11:Add,Edit, x80 y55 w500 h20 vA23, Gui,11:Add,Text, x1 y80 w80 h20, URL Gui,11:Add,Edit, x80 y80 w500 h20 vA24, Gui,11:Add,Text, x1 y105 w80 h20, URL Gui,11:Add,Edit, x80 y105 w500 h20 vA25, Gui,11:Add, Button, x550 y130 w40 h25, OK Gui,11:Show, x2 y385 w600 h155, NEW11 return ;--------------------------------------- 11GuiClose: 11GuiEscape: Gui,11:Destroy return 11ButtonOK: Gui,11:submit FILEAPPEND,%A21%`;%A22%`;%A23%`;%A24%`;%A25%`r`n,%FileXX% Gui,11: Destroy gosub,FillListview return ;============================================================ ;========================== LV- EDIT ========================================== Edit11: if AACA<>1 return FileXX=%F11% MLVXX =MLV1A goto,Editx Edit12: if AACA<>2 return FileXX=%F12% MLVXX =MLV2A goto,Editx Edit13: if AACA<>3 return FileXX=%F13% MLVXX =MLV3A goto,Editx Edit14: if AACA<>4 return FileXX=%F14% MLVXX =MLV4A goto,Editx Edit15: if AACA<>5 return FileXX=%F15% MLVXX =MLV5A EDITX: Gui,2:submit,nohide Gui,2:default Gui,12:Font, S10 CDefault , FixedSys Gui,12:Add,Text, x1 y5 w80 h20, Name Gui,12:Add,Edit, x80 y5 w500 h20 vA31, %C1% Gui,12:Add,Text, x1 y30 w80 h20, Run (e,f) Gui,12:Add,Edit, x80 y30 w500 h20 vA32, %C2% Gui,12:Add,Text, x1 y55 w80 h20, Ico Gui,12:Add,Edit, x80 y55 w500 h20 vA33, %C3% Gui,12:Add,Text, x1 y80 w80 h20, URL (u) Gui,12:Add,Edit, x80 y80 w500 h20 vA34, %C4% Gui,12:Add,Text, x1 y105 w80 h20, URL (v) Gui,12:Add,Edit, x80 y105 w500 h20 vA35, %C5% Gui,12:Add, Button, x550 y130 w40 h25, OK Gui,12:Show, x2 y385 w600 h155, EDITX return ;------------- 12GuiClose: 12GuiEscape: Gui, 12:Destroy return 12ButtonOK: Gui,12:submit ; Gui,12:Destroy ; Gui,2:Default FileRead, FileContent, %FILEXX% FileDelete, %FILEXX% StringReplace, FileContent, FileContent, %C1%;%C2%;%C3%;%C4%;%C5%, %A31%;%A32%;%A33%;%A34%;%A35% FileAppend, %FileContent%, %FILEXX% GoSub, FillListView Gui,12:Destroy return ;--------------------------------------------------------------------- ;------- LV- INSERT -------------------------------------------- Insert11: if AACA<>1 return FileXX=%F11% MLVXX =MLV1A goto,Insertx Insert12: if AACA<>2 return FileXX=%F12% MLVXX =MLV2A goto,Insertx Insert13: if AACA<>3 return FileXX=%F13% MLVXX =MLV3A goto,Insertx Insert14: if AACA<>4 return FileXX=%F14% MLVXX =MLV4A goto,Insertx Insert15: if AACA<>5 return FileXX=%F15% MLVXX =MLV5A InsertX: Gui,13:Font, S10 CDefault , FixedSys Gui,13:Add,Text, x1 y5 w80 h20,Name Gui,13:Add,Edit, x80 y5 w420 h20 vA51, Gui,13:Add,Text, x1 y35 w80 h20,Run Gui,13:Add,Edit, x80 y35 w420 h20 vA52, Gui,13:Add,Text, x1 y65 w80 h20,Ico Gui,13:Add,Edit, x80 y65 w420 h20 vA53, Gui,13:Add,Text, x1 y95 w80 h20,URL Gui,13:Add,Edit, x80 y95 w420 h20 vA54, Gui,13:Add,Text, x1 y125 w80 h20,URL Gui,13:Add,Edit, x80 y125 w420 h20 vA55, Gui,13:Add, Button, x550 y150 w40 h25, OK Gui,13:Show, x2 y410 w600 h180,InsertX return ;----------- 13GuiClose: 13GuiEscape: Gui,13:Destroy Gui,2:Default LV_Modify(RN, "-Select") return ;----------- 13ButtonOK: Gui,13:submit Gui,13:Destroy Gui,2:Default LV_Insert(RF,"",A51,A52,A53,A54,A55) Filedelete,%Filexx% Loop % LV_GetCount() { BX1= BX2= BX3= BX4= BX5= LV_GetText(BX1,A_INDEX,1) LV_GetText(BX2,A_INDEX,2) LV_GetText(BX3,A_INDEX,3) LV_GetText(BX4,A_INDEX,4) LV_GetText(BX5,A_INDEX,5) Fileappend,%BX1%;%BX2%;%BX3%;%BX4%;%BX5%`r`n,%Filexx% } LV_Modify(RN, "-Select") GoSub, FillListView return ;---------------------------------------------------------- ;------------ MOVE < >--------------------------------- back11: if AACA<>1 return FileXX=%F11% MLVXX =MLV1A goto,Backx Back12: if AACA<>2 return FileXX=%F12% MLVXX =MLV2A goto,Backx Back13: if AACA<>3 return FileXX=%F13% MLVXX =MLV3A goto,Backx Back14: if AACA<>4 return FileXX=%F14% MLVXX =MLV4A goto,Backx Back15: if AACA<>5 return FileXX=%F15% MLVXX =MLV5A BackX: Gui,2:submit,nohide Gui,2:default FOWD=0 BACK=1 RowNumber:=LV_GetNext() If (RowNumber >1) { Loop, % LV_GetCount("Column") LV_GetText(Col%A_Index%, RowNumber , A_Index) LV_Delete(RowNumber) LV_Insert(RowNumber-1, "" . RowChecked,Col1,Col2,Col3,Col4,Col5) filedelete,%FileXX% Loop % LV_GetCount() { BX1= BX2= BX3= BX4= BX5= LV_GetText(BX1,A_INDEX,1) LV_GetText(BX2,A_INDEX,2) LV_GetText(BX3,A_INDEX,3) LV_GetText(BX4,A_INDEX,4) LV_GetText(BX5,A_INDEX,5) Fileappend,%BX1%;%BX2%;%BX3%;%BX4%;%BX5%`r`n,%FileXX% } } else return If (RowNumber=1) BACK= GoSub, FillListView return ;-------------------------------------------------------------------- ;-------------- Forward11: if AACA<>1 return FileXX=%F11% MLVXX =MLV1A goto,Forwardx Forward12: if AACA<>2 return FileXX=%F12% MLVXX =MLV2A goto,Forwardx Forward13: if AACA<>3 return FileXX=%F13% MLVXX =MLV3A goto,Forwardx Forward14: if AACA<>4 return FileXX=%F14% MLVXX =MLV4A goto,Forwardx Forward15: if AACA<>5 return FileXX=%F15% MLVXX =MLV5A ForwardX: Gui,2:submit,nohide Gui,2:default FOWD=1 BACK=0 RowNumber:=LV_GetNext() If (RowNumber >0) { Loop, % LV_GetCount("Column") LV_GetText(Col%A_Index%, RowNumber , A_Index) LV_Delete(RowNumber) LV_Insert(RowNumber+1, "" . RowChecked,Col1,Col2,Col3,Col4,Col5) filedelete,%FileXX% Loop % LV_GetCount() { BX1= BX2= BX3= BX4= BX5= LV_GetText(BX1,A_INDEX,1) LV_GetText(BX2,A_INDEX,2) LV_GetText(BX3,A_INDEX,3) LV_GetText(BX4,A_INDEX,4) LV_GetText(BX5,A_INDEX,5) Fileappend,%BX1%;%BX2%;%BX3%;%BX4%;%BX5%`r`n,%FileXX% } } else return If (RowNumber=0) FOWD= GoSub, FillListView return ;-------------- ;--------------------------- EXAMPLE TO READ 2nd GUI -------------------------------- 2nd: Gui,2:submit,nohide stringmid,C2a,C2,2,2 ; :\ SplitPath,C2,name, dir, ext, name_no_ext, drive ;F199=%F199F%\%C2% C2x =%A_scriptdir%\%C2% NEX1= NEX2= ifnotexist,%C2% NEX1=1 ifnotexist,%C2x% NEX1=2 if (NEX1="1" AND NEX2="2") { msgbox,%C2%`nNot exist return } Gui,99:default Gui, 2:+Disabled Gui, 99:+Owner Gui,99:-sysmenu Gui,99:Color, 000000 LSW2 :=((5*DRI2)-20) T99a:=(SW*30)/100 ;column1 width T99b:=(SW*36)/100 ;column2 width T99c:=(SW*10)/100 ;column3 width T99d:=(SW*10)/100 ;column4 width T99e:=(SW*10)/100 ;column5 width T9A:=T99a T9B:=T99a+T99b T9C:=T99a+T99b+T99c T9D:=T99a+T99b+T99c+T99d T9E:=T99a+T99b+T99c+T99d+T99e PSX:=(WA*88)/100 Gui,99:Add,button, x%PSX% y%DNY3% h25 w100 gClose99 ,CLOSE ;Gui,99:Add,edit,cBlack default x300 y%DNY3% h24 w200 vAL1 gSEARCH1, Gui,99:Font,S11 CWhite,Lucide Console Gui,99:Add, ListView, backgroundTeal grid x3 y10 h%LSH% w%LSW2% +hscroll altsubmit vMLV199A gMLV199B, A|B|C|D|E LV_ModifyCol(1,T99a) LV_ModifyCol(2,T99b) LV_ModifyCol(3,T99c) LV_ModifyCol(4,T99d) LV_ModifyCol(5,T99e) if (C2a=":\") { R3X=%C2% ;path DIR gosub,Filllistpath goto,CN99 } if (ext="csv" or ext="txt") { R3X=%A_scriptdir%\%C2% ;text Gui,99:Add,button, x20 y%DNY3% h25 w100 gEdit97 ,EDIT Gui,99:Add,button, x130 y%DNY3% h25 w100 gAddNew96 ,AddNew Gui,99:Add,edit,cBlack default x300 y%DNY3% h24 w200 vAL1 gSEARCH1, gosub,Filllistpath3 goto,CN99 } if (ext="") { R3X=%A_scriptdir%\%C2% ;path DIR gosub,Filllistpath goto,CN99 } ;Gui,99:Add,button, x20 y%DNY3% h25 w100 gEdit97 ,EDIT ;Gui,99:Add,button, x130 y%DNY3% h25 w100 gAddNew96 ,AddNew ;gosub,filllist199 CN99: Gui,99:Show, x0 y0 h%GSH% w%SW%,TEST2nd return ;----------------------------------------------------------------- SEARCH1: Gui,99:submit,nohide LV_Delete() loop,read,%R3X% { LR=%A_loopreadline% ifinstring,LR,%AL1% { if LR= continue stringsplit,C,LR,`; LV_Add("",C1,C2,C3,C4,C5) } else continue } ;LV_ModifyCol(1,"integer") ;LV_ModifyCol(1, "Sort") ;LV_Modify(LV_GetCount(), "Vis") ;scrollt nach unten return /* Filllist199: LV_Delete() loop,read,%F199% { LR=%A_loopreadline% if LR= continue stringsplit,C,LR,`; LV_Add("",C1,C2,C3,C4,C5) C1= C2= C3= C4= C5= } ;LV_ModifyCol(1,"integer") LV_ModifyCol(1, "Sort") LV_Modify(LV_GetCount(), "Vis") ;scrollt nach unten return */ ;====================== Filllistpath: ; if C2 contains AHK if ext=ahk goto,Filllistpath2 LV_Delete() Loop %R3X%\*.*,,1 { LR=%A_LoopFileLongPath% SplitPath,LR,name, dir, ext, name_no_ext, drive { I++ size=%A_loopFileSizeKB% LV_Add("",name,LR,size,NN,NN) ;<< LR=FullPath } } LV_ModifyCol(3,"integer") LV_ModifyCol(1, "Sort") LV_Modify(LV_GetCount(), "Vis") ;scrollt nach unten return ;========only AHK ============== Filllistpath2: LV_Delete() Loop %R3X%\*.* { LR=%A_LoopFileLongPath% SplitPath,LR,name, dir, ext, name_no_ext, drive { if (ext ="ahk") { I++ size=%A_loopFileSize% LV_Add("",name,LR,size,NN,NN) ;<< LR=FullPath } else continue } } LV_ModifyCol(3,"integer") LV_ModifyCol(1, "Sort") LV_Modify(LV_GetCount(), "Vis") ;scrollt nach unten return ;--------------- txt csv ----------------------------- Filllistpath3: LV_Delete() loop,read,%R3X% { LR=%A_loopreadline% if LR= continue stringsplit,C,LR,`; LV_Add("",C1,C2,C3,C4,C5) C1= C2= C3= C4= C5= } ;LV_ModifyCol(1,"integer") LV_ModifyCol(1, "Sort") LV_Modify(LV_GetCount(), "Vis") ;scrollt nach unten return ;--------------- END READ ------------------------------------------ ;############# EVENTS ############################ MLV199B: Gui,99:Submit,nohide Gui,99:ListView,MLV199A RN:=LV_GetNext("C") RF:=LV_GetNext("F") GC:=LV_GetCount() if (RF="" OR RF=0) return if A_GuiEvent=normal { MouseGetPos,x,y { if x<%T9A% { LV_GetText(C1,A_EventInfo,1) C11=%C1% gosub,C11 return } if x<%T9B% { LV_GetText(C2,A_EventInfo,2) C11=%C2% gosub,C11 return } if x<%T9C% { LV_GetText(C3,A_EventInfo,3) C11=%C3% gosub,C11 return } if x<%T9D% { LV_GetText(C4,A_EventInfo,4) C11=%C4% gosub,C11 return } if x<%T9E% { LV_GetText(C5,A_EventInfo,5) C11=%C5% gosub,C11 return } } } ;return ;------------------------- ;--------- DELETE ---------------------------- if A_GuiEvent = RightClick { CLL= RF= 0 RFL= Loop { RF:=LV_GetNext(RF) if (RF="" OR RF=0) break RFL = %RF%|%RFL% ;yyy LV_GetText(CLL_Temp,RF,2) CLL = %CLL%`n%CLL_Temp% } if CLL != { msgbox, 262452, DELETE,Want you delete ines in %R3X%`n%CLL%? IfMsgBox,No Return Else { Loop, parse, RFL, | ;yyy LV_Delete(A_LoopField) filedelete,%R3X% Loop % LV_GetCount() { BX1= BX2= BX3= BX4= BX5= LV_GetText(BX1,A_INDEX,1) LV_GetText(BX2,A_INDEX,2) LV_GetText(BX3,A_INDEX,3) LV_GetText(BX4,A_INDEX,4) LV_GetText(BX5,A_INDEX,5) Fileappend,%BX1%;%BX2%;%BX3%;%BX4%;%BX5%`r`n,%R3X% } } } ;Gosub,filllist199 Gosub,filllistpath3 return } return ;------------------------------------------------- AddNew96: Gui, 99:+Disabled Gui, 96:+Owner { C1= C2= C3= C4= C5= } Gui,96:Font, S10 CDefault , FixedSys Gui,96:Add,Text, x1 y5 w80 h20,A Gui,96:Add,Edit, x80 y5 w420 h20 vA41,%C1% Gui,96:Add,Text, x1 y35 w80 h20,B Gui,96:Add,Edit, x80 y35 w420 h20 vA42,%C2% Gui,96:Add,Text, x1 y65 w80 h20,C Gui,96:Add,Edit, x80 y65 w420 h20 vA43,%C3% Gui,96:Add,Text, x1 y95 w80 h20,D Gui,96:Add,Edit, x80 y95 w420 h20 vA44,%C4% Gui,96:Add,Text, x1 y125 w80 h20,E Gui,96:Add,Edit, x80 y125 w420 h20 vA45,%C5% Gui,96:Add, Button, x550 y150 w40 h25, OK Gui,96:Show, x2 y410 w600 h180,AddNew return ;----------- 96GuiClose: 96GuiEscape: Gui,96:Destroy Gui,99:-Disabled Gui,99:Default return ;----------- 96ButtonOK: Gui,96:submit FileAppend,%A41%;%A42%;%A43%;%A44%;%A45%`r`n,%R3X% Gui,96:Destroy Gui,99:-Disabled Gui,99:Default ;Gosub,Filllist199 Gosub,filllistpath3 return ;------------------------------ ;--------------------------------------------- Edit97: if (RN="" OR RN=0) return Gui, 99:+Disabled Gui, 97:+Owner LV_GetText(C1,RN,1) ; LV_GetText(C2,RN,2) ; LV_GetText(C3,RN,3) ; LV_GetText(C4,RN,4) ; LV_GetText(C5,RN,5) ; Gui,97:Font, S10 CDefault , FixedSys Gui,97:Add,Text, x1 y5 w80 h20,A Gui,97:Add,Edit, x80 y5 w420 h20 vA61,%C1% Gui,97:Add,Text, x1 y35 w80 h20,B Gui,97:Add,Edit, x80 y35 w420 h20 vA62,%C2% Gui,97:Add,Text, x1 y65 w80 h20,C Gui,97:Add,Edit, x80 y65 w420 h20 vA63,%C3% Gui,97:Add,Text, x1 y95 w80 h20,D Gui,97:Add,Edit, x80 y95 w420 h20 vA64,%C4% Gui,97:Add,Text, x1 y125 w80 h20,E Gui,97:Add,Edit, x80 y125 w420 h20 vA65,%C5% Gui,97:Add, Button, x550 y150 w40 h25, OK Gui,97:Show, x2 y410 w600 h180,Edit return ;----------- 97GuiClose: 97GuiEscape: Gui,97:Destroy Gui,99:-Disabled Gui,99:Default return ;----------- 97ButtonOK: Gui,97:submit FileRead,AA,%R3X% FileDelete,%R3X% StringReplace,BB,AA,%C1%;%C2%;%C3%;%C4%;%C5%,%A61%;%A62%;%A63%;%A64%;%A65% FileAppend,%BB%,%R3X% Gui,97:Destroy Gui,99:-Disabled Gui,99:Default ;gosub,Filllist199 Gosub,filllistpath3 return ;--------------------------------------------------- ;================ START C11 99 ===================================================== C11: MyPLAYER =%A_ProgramFiles%\K-Lite Codec Pack\Media Player Classic\mplayerc.exe SplitPath,C11,name, dir, ext, name_no_ext, drive stringmid,C11a,C11,2,1 stringmid,CCP1,C11,1,7 stringmid,CCP2,C11,1,4 VIDS=mpg,flv,mov,avi,rm,wmv,asf if ext contains %VIDS% ;video starts with black screen { if (C11a=":") { C11=%C11% goto,tt } return } if (ext="mp3" or ext="WAV") { ifexist %C11% { soundplay,%C11% return } return } if (C11a=":") { ifexist %C11% { run,%C11% return } return } if (CCP1="http://" OR CCP2="www.") { run,%C11% return } if C11 contains @ { SplitPath,C11,name, dir, ext, name_no_ext, drive if (ext="shtml" OR ext="html" or ext="htm") { run,%C11% return } { ;---------------------- SEND EMAIL ATTACHMENTS THUNDERBIRD MOZILLA ----------- Loop,%subfolder1%\_EMAILSTOSEND\*, , 1 ; Recurse into subfolders. filex=%filex%,file:///%A_LoopFileFullPath% stringlen,L1,filex stringmid,filex,filex,2,L1 DATES=%A_DD%-%A_MM%-%A_YYYY% stringsplit,CX,C11,`@, PR=%A_ProgramFiles%\Mozilla Thunderbird\thunderbird.exe TO=to='%C11%' SB=subject=Greetings AT=attachment='%FILEX%' BD=body=Salu %CX1%`%0A`%0AWie geht`%27s Dir ?`%0A`%0A`%0A`%0A`%09 Greetings`%2C`%0AGarry ALL=%TO%,%SB%,%AT%,%BD% run,%PR% -compose "%ALL%" return } } return ;############################### BLACK ################################### ;-------------------------------------------------------------------------------------------------- TT: BLACK: SysGet m, MonitorWorkArea Gui,98:-Border Gui,98:Color,000000 ;BLACK Gui,98:Font,S14 cwhite, Verdana Gui,98:Add,Text,center y%TDY% w%SW% cWhite,%name% Gui,98:Show,% "x" mLeft+5 " y" mTop+5 " w" mRight-mLeft-10 " h " mBottom-mTop-10, BLACK ifexist,%MyPlayer% ;mplayerc.exe { PA="%C11%" /fixedsize 1000,750 sleep,1000 Run,%MyPLAYER% %PA%,,hide,pid3 Process,wait,mplayerc.exe PID2 = %ErrorLevel% Process,exist,mplayerc.exe { WinWaitActive,Media Player Classic,,5 { sleep,50 send,^0 ; remove border from mplayerc when once positioned } } return } run,%C11% return ;------------------------------------------------------------------------------------------------- ;################## ESCAPE ################################################# ~ESC:: Gui,98:destroy process,close,%PID3% soundplay,xxxyy.mp3 return ;=========================================================================== ;############################### END BLACK ################################### Close99: 99Guiclose: Gui, 2:-Disabled gui,99:destroy return ;################ END EVENTS ########################### ;-------------- FUNCTION DEFAULT GUI ------------------- A_DefaultGui() { if A_Gui != return A_GUI Gui, +LastFound m := DllCall( "RegisterWindowMessage", Str, "GETDEFGUI") OnMessage(m, "A_DefaultGui") res := DllCall("SendMessageA", "uint", WinExist(), "uint", m, "uint", 0, "uint", 0) OnMessage(m, "") return res } ;Example: ; Gui,13: Default ; msgbox % A_DefaultGui() return ;--------------------------------------------------------- ;------------ CREATE TEST FILES -------------------------------------------------------------- GOSUB11: ifnotexist,%F11% { fileappend,AHK_HELP;%A_programfiles%\AutoHotkey\autohotkey.chm;;;`r`n,%F11% fileappend,AHK_UPLOAD;http://autohotkey.net/file/index.php;;;`r`n,%F11% Fileappend,Adresses[];LV_MENU_ICONS_subfolder\_CSV\adresses.csv;post;;`r`n,%F11% Fileappend,Links[];LV_MENU_ICONS_subfolder\_CSV\_savedlinks.txt;;;`r`n,%F11% } ifnotexist,%F12% { fileappend,AHK_FAQ;http://www.autohotkey.com/docs/FAQ.htm;;;`r`n,%F12% fileappend,AHK_SCRIPTS;http://www.autohotkey.com/docs/scripts/;;;`r`n,%F12% fileappend,AHK_LV_HLP;http://www.autohotkey.com/docs/commands/ListView.htm#ReadOnly;;;`r`n,%F12% } ifnotexist,%F13% { Fileappend,RESTRUI;C:\WINDOWS\system32\restore\rstrui.exe;;;`r`n,%F13% Fileappend,Volume;sndvol32.exe;;;`r`n,%F13% ;-- these are my USB drives RST to start save to > R=onceclick S=press u T=press v drive is drive.ico Fileappend,R250-S30-T160;1A_MyAhkPrograms\SAVE_R_250GB.ahk;drive;1A_MyAhkPrograms\SAVE_S_30GB.ahk;1A_MyAhkPrograms\SAVE_T_160GB.ahk`r`n,%F13% Fileappend,AHKScripts[];1A_MyAhkPrograms;folder;;`r`n,%F13% } ifnotexist,%F14% { Fileappend,Windows;C:\windows;folder;;`r`n,%F14% fileappend,CharMap;C:\WINDOWS\system32\charmap.exe;;;`r`n,%F14% } ifnotexist,%F15% { Fileappend,Hawaii;;http://70.84.73.66:8000;LV_MENU_ICONS_Subfolder\_stream;http://www.shoutcast.com`r`n,%F15% Fileappend,Video;G:\M_VIDEO\_FAVORITES;colors;;`r`n,%F15% Fileappend,Video[];G:\M_VIDEO\_FAVORITES;colors;;`r`n,%F15% } ifnotexist,%F199F%\adresses.csv { Fileappend,Garry;Atlanta;garry@networld.com;;`r`n,%F199F%\adresses.csv Fileappend,Larry;Marseille;larry@networld.com;;`r`n,%F199F%\adresses.csv } ifnotexist,%F199F%\_savedlinks.txt { Fileappend,how do I;http://ouseful.open.ac.uk/howdoi/;;;`r`n,%F199F%\_savedlinks.txt Fileappend,freeware101;http://maketecheasier.com/best-101-free-computer-software-for-your-daily-use/2007/12/10;;;`r`n,%F199F%\_savedlinks.txt Fileappend,radio;http://radiostationworld.com/Stations_on_the_Web/default.asp;;;`r`n,%F199F%\_savedlinks.txt Fileappend,Flight status;http://www.flightstats.com/go/Home/home.do;;;`r`n,%F199F%\_savedlinks.txt Fileappend,suomi tv;http://svenska.yle.fi/;;;`r`n,%F199F%\_savedlinks.txt } ifnotexist,%AHKSCRIPTS%\save_R_250GB.ahk { text31= ( DriveGet,status,status,R:\ if status=ready Goto,CONT21 else { msgbox, 262192, CHECK DRIVE R:\,The drive R:\ is not ready exitapp return } CONT21: msgbox, here your script exitapp ) Fileappend,%text31%`r`n,%AHKSCRIPTS%\save_R_250GB.ahk } ifnotexist,%AHKSCRIPTS%\save_S_30GB.ahk { text32= ( DriveGet,status,status,S:\ if status=ready Goto,CONT22 else { msgbox, 262192, CHECK DRIVE S:\,The drive S:\ is not ready exitapp return } CONT22: msgbox, here your script exitapp ) Fileappend,%text32%`r`n,%AHKSCRIPTS%\save_S_30GB.ahk } ifnotexist,%AHKSCRIPTS%\save_T_160GB.ahk { text33= ( DriveGet,status,status,T:\ if status=ready Goto,CONT23 else { msgbox, 262192, CHECK DRIVE T:\,The drive T:\ is not ready exitapp return } CONT23: msgbox, here your script exitapp ) Fileappend,%text33%`r`n,%AHKSCRIPTS%\save_T_160GB.ahk } ;---- test email send attachments see adresses.csv --------- sendtest1=%emails%\sendtest1.txt ifnotexist,%sendtest1% { Fileappend,This a testfile1 for email attachment1 line1`r`n,%sendtest1% Fileappend,This a testfile1 line2`r`n,%sendtest1% } sendtest2=%emails%\sendtest2.txt ifnotexist,%sendtest2% { Fileappend,This a testfile2 for email attachment2 line1`r`n,%sendtest2% Fileappend,This a testfile2 line2`r`n,%sendtest2% } ;--------- end test email ---------------------- return ;--------------------------- END TEST ---------------------------------------