Many thanks, Skrommel. I just tried this quickly, and perhaps I'm making a big mistake, but perhaps a little more debugging or idiot (me)-proofing of the new code may be required. When I first started the new version, with my existing INI and CSV files still in the folder, I got the error message "ERROR is not a valid key name" at line 368.
Then I quit AHK completely, removed the INI and CSV files, reloaded the new TaskLog, and this time I got the error message "Can't load icon" at line 53. The INI file now contains 17 lines, up through headers=... Now I have to kill the task with task manager because the Exit command on the popup menu gives the same error message.
I would like to help debug this more but can't today.
A comment on your suggestion about associating CSV files: I don't want to associate CSV with my editor system-wide, but I would like to be able to open this file either in my editor or in Excel depending on my reason for opening it. But that's no problem, I've already added an "Edit log" command to the TaskLog popup menu and can do so again in subsequent versions if you don't think it belongs in the main program.
FWIW, a comment about hot keys. Since the new version is not yet able to run on my system, I don't know how you've implemented hot keys in response to urlwolf's suggestion. Personally, I would not use different system-wide hotkeys for different tasks - too cluttered for me. Rather, what I did in my personal hack of the previous version of TaskLog was to add a single hotkey for the TaskLog popup menu, and then add support for keyboard accelerators in this menu by adding an ampersand character to the beginning of each task name (in the menu only, of course). I did this by including an ampersand in these lines of Tasklog.ahk (previous version):
Menu,Tray,Add,&%A_LoopField%,MENUCLICK
Menu,Tray,Check,&%task%
Menu,Tray,UnCheck,&%task%
Menu,Tray,Check,&%nexttask%
and by removing the same ampersand when needed by changing this line:
nexttask=%A_ThisMenuItem%
to this line:
StringTrimLeft,nexttask,A_ThisMenuItem,1
Thanks again!