Hi netmaestro,
here are my poor 'optimizations':
1. Combined Hide/Show
replace
Code: Select all
Select EventMenu
Case 1
HideWindow(0,0)
Case 2
HideWindow(0,1)
with
Code: Select all
Select EventMenu
; Case 1
; HideWindow(0,0)
Case 2
; HideWindow(0,1)
If GetMenuItemText(0, 2) = "Hide"
HideWindow(0,1)
SetMenuItemText(0, 2, "Show")
Else
HideWindow(0,0)
SetMenuItemText(0, 2, "Hide")
EndIf
replace
Code: Select all
CreatePopupMenu(0)
MenuItem(1, "Show")
MenuItem(2, "Hide")
with
Code: Select all
CreatePopupMenu(0)
;MenuItem(1, "Show")
MenuItem(2, "Hide")
2. Allow only 'Show Task List' if not already active
replace
with
Code: Select all
Case 5
HideWindow(2,0)
DisableMenuItem(0, 5, 1)
replace
Code: Select all
Case #PB_Event_CloseWindow
HideWindow(2,1)
with
Code: Select all
Case #PB_Event_CloseWindow
HideWindow(2,1)
DisableMenuItem(0, 5, 0)
replace
Code: Select all
c$ = EventDropFiles()
HideWindow(#Window_Tasklist,0)
If FileSize(c$) = -2
with
Code: Select all
c$ = EventDropFiles()
HideWindow(#Window_Tasklist,0)
DisableMenuItem(0, #MenuItem_ShowTasklist, 1)
If FileSize(c$) = -2
and replace
Code: Select all
HideWindow(#Window_Tasklist,0)
WriteLog("Too busy to install key, try again later",3)
with
Code: Select all
HideWindow(#Window_Tasklist,0)
DisableMenuItem(0, 5, 1)
WriteLog("Too busy to install key, try again later",3)
3. Allow only 'Remove Key' if one is installed
replace
Code: Select all
MenuItem(4, "Remove Key")
MenuItem(5, "Show Task List")
with
Code: Select all
MenuItem(4, "Remove Key")
DisableMenuItem(0, 4, 1)
MenuItem(5, "Show Task List")
replace
Code: Select all
keyinstalled = #True
currentbase = *baseimage
with
Code: Select all
keyinstalled = #True
DisableMenuItem(0, 4, 0)
currentbase = *baseimage
and at least replace
Code: Select all
Case 4
FillMemory(*keydata, SizeOf(KEYSTRUCT), 0, #PB_Byte)
keyinstalled=0
currentbase=*baseimage_d
RenderBar(0)
with
Code: Select all
Case 4
FillMemory(*keydata, SizeOf(KEYSTRUCT), 0, #PB_Byte)
keyinstalled=0
currentbase=*baseimage_d
RenderBar(0)
DisableMenuItem(0, 4, 1)
If it works

, it would be nice if you will use this modifications in future releases.
Best regards,
Bernd
P.S.: If you use enumerated constants for menu items, gadgets and so on,
it is much easier to read and find some locations and it is easier to change something.
Yes, it makes a bit more work, but after all you need less time for programming and maintaining the whole program.
Even for 'small' tools this makes sense.