AutoHotkey: Duplicate starter menu entry: Difference between revisions
Jump to navigation
Jump to search
m (added link back to Autohotkey) |
(V1.1: now also duplicates entries in directory hotlist) |
||
Line 1: | Line 1: | ||
<pre> | <pre> | ||
; //////////////////////////////////////////////////////////////////////////// | ; //////////////////////////////////////////////////////////////////////////// | ||
; // (W) StatusQuo 2008 for TC 7.02a | ; // TC_StartMenu_DuplicateEntry.ahk V1.1 | ||
; // (W) StatusQuo 2008 for TC 7.02a (tested up to 7.03) | |||
; // | ; // | ||
; // Duplicates an entry in TC | ; // Duplicates an entry in TC Start Menu or Directory Hotlist | ||
; //////////////////////////////////////////////////////////////////////////// | ; //////////////////////////////////////////////////////////////////////////// | ||
WinWait, ahk_class | ; *** set window class names | ||
IfWinNotActive, ahk_class | sClassMainWin := "TUSERMENUCHANGE" | ||
WinWaitActive, | sClassDialog := "TSTDTREEDLG" | ||
; *** wait for & activate window | |||
WinWait , ahk_class %sClassMainWin%, | |||
IfWinNotActive, ahk_class %sClassMainWin%,, WinActivate, ahk_class %sClassMainWin%, | |||
WinWaitActive , ahk_class %sClassMainWin%, ; main "Change Start Menu" | |||
; *** store source values | ; *** store source values | ||
ControlGetText, sText3, TEdit3, | ControlGetText, sText3, TEdit3, ahk_class %sClassMainWin%, ; main window | ||
ControlGetText, sText2, TEdit2, | ControlGetText, sText2, TEdit2, ahk_class %sClassMainWin%, ; main window | ||
ControlGetText, sText1, TEdit1, | ControlGetText, sText1, TEdit1, ahk_class %sClassMainWin%, ; main window | ||
ControlGet, iCBox2, Checked,, TCheckBox2, ahk_class | if (sText3 = "") | ||
ControlGet, iCBox1, Checked,, TCheckBox1, ahk_class | { | ||
sDialogType := "dir" | |||
} else { | |||
sDialogType := "start" | |||
ControlGet, iCBox2, Checked,, TCheckBox2, ahk_class %sClassMainWin%, ; main window | |||
ControlGet, iCBox1, Checked,, TCheckBox1, ahk_class %sClassMainWin%, ; main window | |||
} | |||
; *** get entry title | ; *** get entry title | ||
ControlClick, TButton5, ahk_class | if (sDialogType = "dir") | ||
WinWaitActive, | { | ||
ControlGetText, sMenuTitle, TEdit1, ahk_class | ControlClick, TButton4, ahk_class %sClassMainWin%, ; Button "Change Title"; DirMenu | ||
ControlClick, TButton1, ahk_class | } else { | ||
WinWaitActive, | ControlClick, TButton5, ahk_class %sClassMainWin%, ; Button "Change Title"; StartMenu | ||
} | |||
WinWaitActive, ahk_class %sClassDialog%, ; dialog "Change Title" | |||
ControlGetText, sMenuTitle, TEdit1, ahk_class %sClassDialog% ; Title | |||
ControlClick, TButton1, ahk_class %sClassDialog%, ; Button Cancel, close "Change Title" dialog | |||
WinWaitActive, ahk_class %sClassMainWin%, ; main window | |||
; *** add new entry | ; *** add new entry | ||
ControlClick, TButton8, ahk_class | if (sDialogType = "dir") | ||
WinWaitActive, | { | ||
ControlSetText, TEdit1, %sMenuTitle% [copy], ahk_class | ControlClick, TButton7, ahk_class %sClassMainWin%, ; Button "Add Menu Entry" | ||
ControlClick, TButton2, ahk_class | } else { | ||
WinWaitActive, | ControlClick, TButton8, ahk_class %sClassMainWin%, ; Button "Add Menu Entry" | ||
} | |||
WinWaitActive, ahk_class %sClassDialog%, ; dialog "Change Title" | |||
ControlSetText, TEdit1, %sMenuTitle% [copy], ahk_class %sClassDialog% ; Title | |||
ControlClick, TButton2, ahk_class %sClassDialog%, ; Button OK, close "Title" dialog | |||
WinWaitActive, ahk_class %sClassMainWin%, ; main window | |||
; *** fill stored values from source entry | ; *** fill stored values from source entry | ||
ControlSetText, TEdit3, %sText3%, ahk_class | if (sDialogType = "start") | ||
ControlSetText, TEdit2, %sText2%, ahk_class | { | ||
ControlSetText, TEdit1, %sText1%, ahk_class | ControlSetText, TEdit3, %sText3%, ahk_class %sClassMainWin%, ; main window | ||
if iCBox2 | } | ||
ControlSetText, TEdit2, %sText2%, ahk_class %sClassMainWin%, ; main window | |||
else | ControlSetText, TEdit1, %sText1%, ahk_class %sClassMainWin%, ; main window | ||
if iCBox1 | if (sDialogType = "start") | ||
{ | |||
else | if iCBox2 | ||
Control, Check,, TCheckBox2, ahk_class %sClassMainWin%, ; main window | |||
else | |||
Control, UnCheck,, TCheckBox2, ahk_class %sClassMainWin%, ; main window | |||
if iCBox1 | |||
Control, Check,, TCheckBox1, ahk_class %sClassMainWin%, ; main window | |||
else | |||
Control, UnCheck,, TCheckBox1, ahk_class %sClassMainWin%, ; main window | |||
; *** set cursor to command value | ; *** set cursor to command value | ||
ControlFocus, TEdit3, ahk_class | ControlFocus, TEdit3, ahk_class %sClassMainWin%, ; main window | ||
ControlSend, TEdit3, {HOME}, | ControlSend, TEdit3, {HOME}, | ||
} | |||
</pre> | </pre> | ||
Back to [[AutoHotkey]] | Back to [[AutoHotkey]] |
Revision as of 20:58, 30 May 2008
; //////////////////////////////////////////////////////////////////////////// ; // TC_StartMenu_DuplicateEntry.ahk V1.1 ; // (W) StatusQuo 2008 for TC 7.02a (tested up to 7.03) ; // ; // Duplicates an entry in TC Start Menu or Directory Hotlist ; //////////////////////////////////////////////////////////////////////////// ; *** set window class names sClassMainWin := "TUSERMENUCHANGE" sClassDialog := "TSTDTREEDLG" ; *** wait for & activate window WinWait , ahk_class %sClassMainWin%, IfWinNotActive, ahk_class %sClassMainWin%,, WinActivate, ahk_class %sClassMainWin%, WinWaitActive , ahk_class %sClassMainWin%, ; main "Change Start Menu" ; *** store source values ControlGetText, sText3, TEdit3, ahk_class %sClassMainWin%, ; main window ControlGetText, sText2, TEdit2, ahk_class %sClassMainWin%, ; main window ControlGetText, sText1, TEdit1, ahk_class %sClassMainWin%, ; main window if (sText3 = "") { sDialogType := "dir" } else { sDialogType := "start" ControlGet, iCBox2, Checked,, TCheckBox2, ahk_class %sClassMainWin%, ; main window ControlGet, iCBox1, Checked,, TCheckBox1, ahk_class %sClassMainWin%, ; main window } ; *** get entry title if (sDialogType = "dir") { ControlClick, TButton4, ahk_class %sClassMainWin%, ; Button "Change Title"; DirMenu } else { ControlClick, TButton5, ahk_class %sClassMainWin%, ; Button "Change Title"; StartMenu } WinWaitActive, ahk_class %sClassDialog%, ; dialog "Change Title" ControlGetText, sMenuTitle, TEdit1, ahk_class %sClassDialog% ; Title ControlClick, TButton1, ahk_class %sClassDialog%, ; Button Cancel, close "Change Title" dialog WinWaitActive, ahk_class %sClassMainWin%, ; main window ; *** add new entry if (sDialogType = "dir") { ControlClick, TButton7, ahk_class %sClassMainWin%, ; Button "Add Menu Entry" } else { ControlClick, TButton8, ahk_class %sClassMainWin%, ; Button "Add Menu Entry" } WinWaitActive, ahk_class %sClassDialog%, ; dialog "Change Title" ControlSetText, TEdit1, %sMenuTitle% [copy], ahk_class %sClassDialog% ; Title ControlClick, TButton2, ahk_class %sClassDialog%, ; Button OK, close "Title" dialog WinWaitActive, ahk_class %sClassMainWin%, ; main window ; *** fill stored values from source entry if (sDialogType = "start") { ControlSetText, TEdit3, %sText3%, ahk_class %sClassMainWin%, ; main window } ControlSetText, TEdit2, %sText2%, ahk_class %sClassMainWin%, ; main window ControlSetText, TEdit1, %sText1%, ahk_class %sClassMainWin%, ; main window if (sDialogType = "start") { if iCBox2 Control, Check,, TCheckBox2, ahk_class %sClassMainWin%, ; main window else Control, UnCheck,, TCheckBox2, ahk_class %sClassMainWin%, ; main window if iCBox1 Control, Check,, TCheckBox1, ahk_class %sClassMainWin%, ; main window else Control, UnCheck,, TCheckBox1, ahk_class %sClassMainWin%, ; main window ; *** set cursor to command value ControlFocus, TEdit3, ahk_class %sClassMainWin%, ; main window ControlSend, TEdit3, {HOME}, }
Back to AutoHotkey