AutoHotkey Community

It is currently May 26th, 2012, 6:47 pm

All times are UTC [ DST ]




Post new topic Reply to topic  [ 1 post ] 
Author Message
 Post subject: Simple Task Run
PostPosted: June 19th, 2009, 6:35 am 
Offline

Joined: May 15th, 2007, 4:57 am
Posts: 33
I just needed a quick and simple script to run some other scripts (non ahk) every 10 seconds.
Thought it might be useful to someone else.
I know this could be cleaner and shorter but I was lazy.

Criticism welcomed

Thank you,
ManicResin

Code:

#NoEnv
#SingleInstance Force
#Persistent
#MaxThreads 20
SendMode Input
SetWorkingDir %A_ScriptDir%

IfNotExist settings.ini
{
FileAppend,
(
[Task_1]
A_Active_1=Off
A_Seconds_1=10
A_Run_1=Notepad.exe
[Task_2]
A_Active_2=Off
A_Seconds_2=10
A_Run_2=Notepad.exe
[Task_3]
A_Active_3=Off
A_Seconds_3=10
A_Run_3=Notepad.exe
[Task_4]
A_Active_4=Off
A_Seconds_4=10
A_Run_4=Notepad.exe
[Task_5]
A_Active_5=Off
A_Seconds_5=10
A_Run_5=Notepad.exe
),settings.ini
}

Locked = 1
Hidden = 0

;--------------------------------------------------------------------
IniRead A_Active_1, %A_WorkingDir%\settings.ini, Task_1, A_Active_1
IniRead A_Seconds_1, %A_WorkingDir%\settings.ini, Task_1, A_Seconds_1
IniRead A_Run_1, %A_WorkingDir%\settings.ini, Task_1, A_Run_1
If A_Active_1 = On
   A_Active_1 = 1
Else
   A_Active_1 = 2
;--------------------------------------------------------------------
IniRead A_Active_2, %A_WorkingDir%\settings.ini, Task_2, A_Active_2
IniRead A_Seconds_2, %A_WorkingDir%\settings.ini, Task_2, A_Seconds_2
IniRead A_Run_2, %A_WorkingDir%\settings.ini, Task_2, A_Run_2

If A_Active_2 = On
   A_Active_2 = 1
Else
   A_Active_2 = 2
;-------------------------------------------------------------------------
IniRead A_Active_3, %A_WorkingDir%\settings.ini, Task_3, A_Active_3
IniRead A_Seconds_3, %A_WorkingDir%\settings.ini, Task_3, A_Seconds_3
IniRead A_Run_3, %A_WorkingDir%\settings.ini, Task_3, A_Run_3
If A_Active_3 = On
   A_Active_3 = 1
Else
   A_Active_3 = 2
;-------------------------------------------------------------------------
IniRead A_Active_4, %A_WorkingDir%\settings.ini, Task_4, A_Active_4
IniRead A_Seconds_4, %A_WorkingDir%\settings.ini, Task_4, A_Seconds_4
IniRead A_Run_4, %A_WorkingDir%\settings.ini, Task_4, A_Run_4
If A_Active_4 = On
   A_Active_4 = 1
Else
   A_Active_4 = 2
;-------------------------------------------------------------------------
IniRead A_Active_5, %A_WorkingDir%\settings.ini, Task_5, A_Active_5
IniRead A_Seconds_5, %A_WorkingDir%\settings.ini, Task_5, A_Seconds_5
IniRead A_Run_5, %A_WorkingDir%\settings.ini, Task_5, A_Run_5
If A_Active_5 = On
   A_Active_5 = 1
Else
   A_Active_5 = 2
;-------------------------------------------------------------------------

Menu Tray, Icon, C:\WINDOWS\system32\shell32.dll, 266 ;215 Use this if your icon is blank
Menu Tray, NoStandard
Menu Tray, Add, Hide, GuiClose
Menu Tray, Add, Save, Save
Menu Tray, Add,
Menu Tray, Add, Exit, Close

Gui +Theme
Gui -MinimizeBox
Gui Color, White
Gui Add, Button, x0 y+0 w49 h20 vLt gLock, Unlock
;----------------------------------------------------------------------------------
Gui Add, Edit, x0 y+0 w50 r1 ReadOnly -0x10000, Task 1
Gui Add, DropDownList, x+-1 w40 Choose%A_Active_1% vA_Active_1 , On|Off
Gui Add, Edit, x+-1 w50 vA_Seconds_1 , %A_Seconds_1%
Gui Add, Edit, x+-1 w356 r1 vA_Run_1, %A_Run_1%
;-----------------------------------------------------------------------------------
Gui Add, Edit, x0 y+-1 w50 r1 ReadOnly -0x10000, Task 2
Gui Add, DropDownList, x+-1 w40 Choose%A_Active_2% vA_Active_2 , On|Off
Gui Add, Edit, x+-1 w50 vA_Seconds_2 , %A_Seconds_2%
Gui Add, Edit, x+-1 w356 r1 vA_Run_2, %A_Run_2%
;-----------------------------------------------------------------------------------
Gui Add, Edit, x0 y+-1 w50 r1 ReadOnly -0x10000, Task 3
Gui Add, DropDownList, x+-1 w40 Choose%A_Active_3% vA_Active_3 , On|Off
Gui Add, Edit, x+-1 w50 vA_Seconds_3 , %A_Seconds_3%
Gui Add, Edit, x+-1 w356 r1 vA_Run_3, %A_Run_3%
;-----------------------------------------------------------------------------------
Gui Add, Edit, x0 y+-1 w50 r1 ReadOnly -0x10000, Task 4
Gui Add, DropDownList, x+-1 w40 Choose%A_Active_4% vA_Active_4 , On|Off
Gui Add, Edit, x+-1 w50 vA_Seconds_4 , %A_Seconds_4%
Gui Add, Edit, x+-1 w356 r1 vA_Run_4, %A_Run_4%
;-----------------------------------------------------------------------------------
Gui Add, Edit, x0 y+-1 w50 r1 ReadOnly -0x10000, Task 5
Gui Add, DropDownList, x+-1 w40 Choose%A_Active_5% vA_Active_5 , On|Off
Gui Add, Edit, x+-1 w50 , %A_Seconds_5%
Gui Add, Edit, x+-1 w356 r1 vA_Run_5, %A_Run_5%
;-----------------------------------------------------------------------------------
Gui Add, Edit, x49 y0 w40 r1 ReadOnly -0x10000, Status
Gui Add, Edit, x+-1 w50 r1 ReadOnly -0x10000, Seconds
Gui Add, Edit, x+-1 w356 r1 ReadOnly -0x10000, Run Path
;-----------------------------------------------------------------------------------
   Loop 60
   {
   GuiControl Disable,ComboBox%A_Index%
   GuiControl Disable,Edit%A_Index%
   }
;-----------------------------------------------------------------------------------
Gui Show, w493 h121, Run Task
GoSub Check_Tasks
Return

Lock:
If Locked = 0
{
   Locked = 1
   Gui Submit, NoHide
   Loop 60
   {
   GuiControl Disable,ComboBox%A_Index%
   GuiControl Disable,Edit%A_Index%
   }
   GuiControl ,,Lt, Unlock
   GoSub Save
}
Else If Locked = 1
{
   Locked = 0
   Loop 60
   {
   GuiControl Enable,ComboBox%A_Index%
   GuiControl Enable,Edit%A_Index%
   }
   GuiControl ,,Lt, Save
}
GoSub Check_Tasks
Return

Check_Tasks:
Gui Submit, NoHide
;------------------------------------------------------------
If A_Active_1 = On
{
   A_Seconds_1 *= 1000
   SetTimer Task_Job_1, %A_Seconds_1%
}
If A_Active_1 = Off
{
   SetTimer Task_Job_1, Off
}
;------------------------------------------------------------
If A_Active_2 = On
{
   A_Seconds_2 *= 1000
   SetTimer Task_Job_2, %A_Seconds_2%
}
If A_Active_2 = Off
{
   SetTimer Task_Job_2, Off
}
;------------------------------------------------------------
If A_Active_3 = On
{
   A_Seconds_3 *= 1000
   SetTimer Task_Job_3, %A_Seconds_3%
}
If A_Active_3 = Off
{
   SetTimer Task_Job_3, Off
}
;------------------------------------------------------------
If A_Active_4 = On
{
   A_Seconds_4 *= 1000
   SetTimer Task_Job_4, %A_Seconds_4%
}
If A_Active_4 = Off
{
   SetTimer Task_Job_4, Off
}
;------------------------------------------------------------
If A_Active_5 = On
{
   A_Seconds_5 *= 1000
   SetTimer Task_Job_5, %A_Seconds_5%
}
If A_Active_5 = Off
{
   SetTimer Task_Job_5, Off
}
;------------------------------------------------------------
Return

Task_Job_1:
Run %A_Run_1%
Return

Task_Job_2:
Run %A_Run_2%
Return

Task_Job_3:
Run %A_Run_3%
Return

Task_Job_4:
Run %A_Run_4%
Return

Task_Job_5:
Run %A_Run_5%
Return

Save:
Gui Submit, NoHide
IniWrite %A_Active_1%, %A_WorkingDir%\settings.ini, Task_1, A_Active_1
IniWrite %A_Seconds_1%, %A_WorkingDir%\settings.ini, Task_1, A_Seconds_1
IniWrite %A_Run_1%, %A_WorkingDir%\settings.ini, Task_1, A_Run_1
;--------------------------------------------------------------------
IniWrite %A_Active_2%, %A_WorkingDir%\settings.ini, Task_2, A_Active_2
IniWrite %A_Seconds_2%, %A_WorkingDir%\settings.ini, Task_2, A_Seconds_2
IniWrite %A_Run_2%, %A_WorkingDir%\settings.ini, Task_2, A_Run_2
;--------------------------------------------------------------------
IniWrite %A_Active_3%, %A_WorkingDir%\settings.ini, Task_3, A_Active_3
IniWrite %A_Hours_3%, %A_WorkingDir%\settings.ini, Task_3, A_Hours_3
IniWrite %A_Seconds_3%, %A_WorkingDir%\settings.ini, Task_3, A_Seconds_3
IniWrite %A_Run_3%, %A_WorkingDir%\settings.ini, Task_3, A_Run_3
;--------------------------------------------------------------------
IniWrite %A_Active_4%, %A_WorkingDir%\settings.ini, Task_4, A_Active_4
IniWrite %A_Seconds_4%, %A_WorkingDir%\settings.ini, Task_4, A_Seconds_4
IniWrite %A_Run_4%, %A_WorkingDir%\settings.ini, Task_4, A_Run_4
;--------------------------------------------------------------------
IniWrite %A_Active_5%, %A_WorkingDir%\settings.ini, Task_5, A_Active_5
IniWrite %A_Seconds_5%, %A_WorkingDir%\settings.ini, Task_5, A_Seconds_5
IniWrite %A_Run_5%, %A_WorkingDir%\settings.ini, Task_5, A_Run_5
;--------------------------------------------------------------------
Return

GuiClose:
If Locked = 0
{
   GoSub Lock
}
If Hidden = 0
{
   Hidden = 1
   Menu Tray, Rename, Hide, Show
   WinHide Run Task
}
Else If Hidden = 1
{
   Hidden = 0
   Menu Tray, Rename, Show, Hide
   WinShow Run Task
}
GoSub Save
Return
   
Close:
GoSub Save
ExitApp



Report this post
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC [ DST ]


Who is online

Users browsing this forum: fusion1920, Google [Bot], infogulch, Ragnar, Retro Gamer and 10 guests


You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Group