Last active
February 7, 2020 20:21
-
-
Save Saibot942/100698e08bd9284aaf738a6ac11c5ceb to your computer and use it in GitHub Desktop.
Ticket handling tools for Kronos Cloud teams
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; ======================================================================== | |
; Ticket handling tools for Kronos Cloud teams | |
; ======================================================================== | |
; | |
; Version: 2020.02.05 | |
; Updated: Toby Garcia | |
; Source: https://gist.github.com/Saibot942/100698e08bd9284aaf738a6ac11c5ceb | |
; | |
; ======================================================================== | |
; | |
; IMPORTANT INFO ABOUT GETTING STARTED: Lines that start with a semicolon, | |
; such as this one, are comments. They are not executed. | |
; Please read the QUICK-START TUTORIAL near the top of the help file. | |
; It explains how to perform common automation tasks such as sending | |
; keystrokes and mouse clicks. It also explains more about hotkeys. | |
; http://www.autohotkey.com/docs/Tutorial.htm | |
; # is windows key | |
; ^ is control | |
; ! is alt | |
; + is Shift | |
; & An ampersand may be used between any two keys or mouse buttons to combine them into a custom hotkey. | |
;https://www.autohotkey.com/docs/commands.htm | |
; This script has a special filename and path because it is automatically | |
; launched when you run the program directly. Also, any text file whose | |
; name ends in .ahk is associated with the program, which means that it | |
; can be launched simply by double-clicking it. You can have as many .ahk | |
; files as you want, located in any folder. You can also run more than | |
; one .ahk file simultaneously and each will get its own tray icon. | |
; SAMPLE HOTKEYS: Below are two sample hotkeys. The first is Win+Z and it | |
; launches a web site in the default browser. The second is Control+Alt+N | |
; and it launches a new Notepad window (or activates an existing one). To | |
; try out these hotkeys, run AutoHotkey again, which will load this file. | |
;#z::Run www.autohotkey.com | |
;^!n:: | |
;IfWinExist Untitled - Notepad | |
; WinActivate | |
;else | |
; Run Notepad | |
;return | |
; Note: From now on whenever you run AutoHotkey directly, this script | |
; will be loaded. So feel free to customize it to suit your needs. | |
; ---------- USER VARIABLES ---------- USER VARIABLES ---------- USER VARIABLES ---------- | |
; These variables may be specific to your environment. | |
browserTitle := "kronoscloud.service-now.com" ; Partial title of your preferred browser window for SNOW + SF search (win+w and win+f) | |
outlookTitle := "@kronos.com - Outlook" ; Partial title of your Outlook window for email search functionality (win+s) | |
; ---------- METASCRIPTS ---------- METASCRIPTS ---------- METASCRIPTS ---------- | |
; These few scripts are specifically related to this overall program. | |
;##################################################### | |
;## Ctrl + Alt + Shift + l # List the functionality ## | |
;##################################################### | |
^!+l:: | |
MsgBox, | |
( | |
Creator: [email protected] | |
Source: https://gist.github.com/Saibot942/100698e08bd9284aaf738a6ac11c5ceb | |
AutoHotkey version: %A_AHKVersion% | |
`n<ctrl + alt + shift + L>`nDisplay this list | |
`n<ctrl + alt + shift + x>`nExit this AHK program | |
`n<win+w>`nOpen highlighted INC, RITM, TASK, etc. in ServiceNow | |
`n<win+f>`nOpen highlighted case or SID in SalesForce | |
`n<win+v>`nShow Clipboard contents in a popup message box | |
`n<ctrl+d>`nRemaps [ctrl]+d (bookmark shortcut) to [ctrl]+f in browsers | |
`n<ctrl+alt+d>`nInsert current date using [alt]+[shift]+d (Windows default) or [ctrl]+[alt]+d | |
`n<ctrl+alt+v>`nPaste unicode checkmark | |
`n<ctrl+alt+x>`nPaste unicode eckskmark | |
`n<ctrl+shift+v>`nPaste formatted text from clipboard in plaintext | |
`n<ctrl+shift+x>`nEmpty the Windows clipboard | |
`n<ctrl+shift+c>`nAppend a selected text to the end of existing clipboard | |
`n<ctrl+shift+u>`nPaste your signature | |
`n<ctrl+shift+g>`nPaste your greeting | |
`n<ctrl+shift+y>`nPaste the PAR template | |
`n<ctrl+shift+h>`nPaste reference hashtags | |
`ncut01 - 03`nPaste Cutover emails | |
`n"cut01-03"`nCutover Emails | |
`n<ctrl+Win+alt+v>`nCyberArk Paste Raw | |
) | |
return | |
; ---------- | |
;############################################ | |
;## Ctrl + Alt + Shift + x to exit program ## | |
;############################################ | |
^!+x:: | |
DetectHiddenWindows, On | |
SetTitleMatchMode, 2 | |
Loop { | |
WinClose, .ahk | |
IfWinNotExist, .ahk | |
Break ;No [more] matching windows found | |
} | |
; ---------- GENERAL SETTINGS ---------- GENERAL SETTINGS ---------- GENERAL SETTINGS ---------- | |
;To disable the key history shown below, add the line "#KeyHistory 0" anywhere in the script. | |
#KeyHistory 0 | |
;#SingleInstance [force|ignore|off] | |
#SingleInstance force ;skips the dialog box and replaces the old instance automatically, which is similar in effect to the Reload command | |
;hide tray icon | |
;#NoTrayIcon ;ctrl alt shift x to exit | |
; ---------- FUNCTIONS ---------- FUNCTIONS ---------- FUNCTIONS ---------- | |
;function stores the current contents of the system clipboard in origClipboard, then copies currently hilighted text into the clipboard | |
f_returnOrigClipboardAndCtrlC() { | |
;Msgbox,, f_returnOrigClipboardAndCtrlC, f_returnOrigClipboardAndCtrlC called! | |
sleep 100 ;Doesn't work without this pause!!! | |
origClipboard := Clipboard ;Save the system clipboard to our new variable origClipboard | |
Clipboard := "" ;Clear Clipboard so we can use ClipWait later... | |
SendInput ^c ;Copy whatever is hilighted | |
ClipWait, 1 ;Wait up to 1 second for Clipboard to contain text | |
if ErrorLevel | |
{ | |
MsgBox,,f_returnOrigClipboardAndCtrlC, The attempt to copy text onto the clipboard failed. Did you highlight anything? | |
Exit, 1 | |
} | |
;Msgbox,, f_returnOrigClipboardAndCtrlC, returning origClipboard:`n'%origClipboard%'`nto caller... | |
return, (origClipboard) ;Return [, Expression] (Variable names in an expression are not enclosed in percent signs, literal strings should be in "" quotes) | |
} | |
; ---------- | |
;function restores the origClipboard value to the system clipboard, then exits | |
f_restoreSystemClipboardAndExit(origClipboard) { | |
;MsgBox,, f_restoreSystemClipboardAndExit, origClipboard contents:`n`n%origClipboard%, 2 | |
Sleep 100 ;Doesn't work without this pause!!! | |
if ( strLen(origClipboard) > 0 ) { | |
Clipboard := "" ;Clear system clipboard so we can use ClipWait | |
Clipboard := origClipboard ;Restore original clipboard contents | |
ClipWait, 1 ;Wait up to 1 second for Clipboard to contain text | |
if ErrorLevel | |
{ | |
MsgBox,,f_restoreSystemClipboardAndExit, The attempt to copy text onto the clipboard failed. | |
Exit, 1 | |
} | |
origClipboard := "" ;free memory | |
Exit, 0 ;Exit | |
} else { | |
Exit, 0 | |
} | |
} | |
; ---------- | |
;Function to perform regex verification on clipboard contents and return it as an object with a type and a val | |
;val will have spaces and `r`n's removed | |
;Currently called from win+w and win+f | |
f_identifyClipboard() { | |
;Msgbox,, f_identifyClipboard, !!! | |
ahkInput := Clipboard ;Set hilighted text to ahkInput | |
StringReplace, ahkInput, ahkInput, `r`n, , All ;Remove all carrige returns and line feeds | |
StringReplace, ahkInput, ahkInput, %A_SPACE%, , All ;Remove all spaces | |
StringLen, ahkInputLen, ahkInput ;Set ahkInputLen to length of ahkInput | |
BugID := RegExMatch(ahkInput, "i)^ID") ;Set BugID to 1 if clipboard starts with id, not case sensitive | |
sfCase := RegExMatch(ahkInput, "[0,1][0-9]{7}") ;Set sfCase to 1 if clipboard is an 8 digit number, starting with 0 | |
sfSID := RegExMatch(ahkInput, "6[0-9]{6}") ;Set sfSID to 1 if clipboard is a 7 digit number starting with 6 | |
sfKB := RegExMatch(ahkInput, "i)^KB") ;Set sfSID to 1 if clipboard is a 7 digit number starting with 6 | |
snowINC := RegExMatch(ahkInput, "i)^INC") ;Set snowINC to 1 if clipboard starts with INC, not case sensitive | |
snowCHG := RegExMatch(ahkInput, "i)^CHG") ;Set snowCHG to 1 if clipboard starts with CHG, not case sensitive | |
snowPRB := RegExMatch(ahkInput, "i)^PRB") ;Set snowPRB to 1 if clipboard starts with PRB, not case sensitive | |
snowPRJ := RegExMatch(ahkInput, "i)^PRJ") ;Set snowPRJ to 1 if clipboard starts with PRJ, not case sensitive | |
snowREQ := RegExMatch(ahkInput, "i)^REQ") ;Set snowREQ to 1 if clipboard starts with CHG, not case sensitive | |
snowRITM := RegExMatch(ahkInput, "i)^RITM") ;Set snowRITM to 1 if clipboard starts with RITM, not case sensitive | |
snowTASK := RegExMatch(ahkInput, "i)^SCTASK") ;Set snowTASK to 1 if clipboard starts with RITM, not case sensitive | |
;Msgbox,, f_identifyClipboard, ahkInput: '%ahkInput%' ;(DISABLED) Enable for debug messagging | |
;Msgbox,, f_identifyClipboard, ahkInputLen: '%ahkInputLen%' ;(DISABLED) Enable for debug messagging | |
if (ahkInputLen > 15) { | |
waffles := {type: "tooLong", val: ahkInputLen} | |
} else if (BugID) { | |
waffles := {type: "bugID", val: ahkInput} | |
} else if (sfCase) { | |
waffles := {type: "sfCase", val: ahkInput} | |
} else if (sfSID) { | |
waffles := {type: "sfSID", val: ahkInput} | |
} else if (sfKB) { | |
waffles := {type: "sfKB", val: ahkInput} | |
} else if (snowINC) { | |
waffles := {type: "snowINC", val: ahkInput} | |
} else if (snowCHG) { | |
waffles := {type: "snowCHG", val: ahkInput} | |
} else if (snowPRB) { | |
waffles := {type: "snowPRB", val: ahkInput} | |
} else if (snowPRJ) { | |
waffles := {type: "snowPRJ", val: ahkInput} | |
} else if (snowREQ) { | |
waffles := {type: "snowREQ", val: ahkInput} | |
} else if (snowRITM) { | |
waffles := {type: "snowRITM", val: ahkInput} | |
} else if (snowTASK) { | |
waffles := {type: "snowTASK", val: ahkInput} | |
} else { | |
waffles := {type: "noMatch", val: ahkInput} | |
} | |
return (waffles) | |
} | |
; ---------- | |
;Activates the appropriate application window before any attempt to perform search. | |
;Currently called from win+w, win+f, and win+s | |
f_winAct(titleText) { | |
SetTitleMatchMode, 2 ; mode 1=starts with, 2=contains, 3=ends with | |
IfWinExist, %titleText% ; if a browser exists that matches the titleText | |
WinActivate ; use it | |
else ; otherwise | |
Msgbox, Launch or activate application ; you need to launch it and try again | |
return | |
} | |
; ---------- | |
;win+w function | |
f_winW(winW, typeW) { ; determines the correct URL | |
if (typeW = "sfCase" or typeW = "sfSID") { | |
winWURL = "https://kronoscloud.service-now.com/nav_to.do?uri=/incident_list.do?sysparm_query=123TEXTQUERY321=%winW%^active=true" | |
} else if (typeW = "snowINC") { | |
winWURL = "https://kronoscloud.service-now.com/incident.do?sys_id=%winW%" | |
} else if (typeW = "snowCHG") { | |
winWURL = "https://kronoscloud.service-now.com/change_request.do?sys_id=%winW%" | |
} else if (typeW = "snowPRB") { | |
winWURL = "https://kronoscloud.service-now.com/problem_list.do?sys_id=%winW%" | |
} else if (typeW = "snowREQ") { | |
winWURL = "https://kronoscloud.service-now.com/sc_request.do?sys_id=%winW%" | |
} else if (typeW = "snowRITM") { | |
winWURL = "https://kronoscloud.service-now.com/sc_req_item.do?sys_id=%winW%" | |
} else if (typeW = "snowTASK") { | |
winWURL = "https://kronoscloud.service-now.com/sc_task.do?sys_id=%winW%" | |
} | |
SplashTextOn,1000,50,Opening %typeW%,%winWURL% ; splash message indicating URL action | |
Run, %winWURL% ; actually opening the website | |
Sleep, 2000 | |
SplashTextOff | |
return | |
} | |
; ---------- | |
;win+f function | |
f_winF(winF, typeF) { ; determines the correct URL | |
if (typeF = "sfCase") { | |
winFURL = "https://kronos.my.salesforce.com/_ui/search/ui/UnifiedSearchResults?searchType=2#!/fen=500&initialViewMode=detail&str=%winF%" | |
} else if (typeF = "sfSID") { | |
winFURL = "https://kronos.my.salesforce.com/_ui/search/ui/UnifiedSearchResults?searchType=2#!/fen=001&initialViewMode=detail&str=%winF%" | |
} else if (typeF = "sfKB") { | |
;winFURL = "https://community.kronos.com/s/article/%winF%" | |
winFURL = "https://kronos.my.salesforce.com/_ui/search/ui/UnifiedSearchResults?searchType=2#!/fen=ka&initialViewMode=detail&str=%winF%" | |
} | |
SplashTextOn,1000,50,Opening %typeF%,%winFURL% ; splash message indicating URL action | |
Run, %winFURL% ; actually opening the website | |
Sleep, 2000 | |
SplashTextOff | |
return | |
} | |
; ---------- | |
; ---------- SCRIPTS w/FUNCTIONS ---------- SCRIPTS w/FUNCTIONS ---------- SCRIPTS w/FUNCTIONS ---------- | |
;####################################### | |
;## 'win+w' # goto selected in SNOW ## | |
;####################################### | |
;Set your preferred browser title in the global variables section at the top of this file if you use multiple browsers. | |
#w:: | |
origClipboard := f_returnOrigClipboardAndCtrlC() | |
pancakes := f_identifyClipboard() | |
;Msgbox % "Clipboard: "Clipboard "`nType: "pancakes.type "`nVal: "pancakes.val "`norigClipboard: "origClipboard | |
if (pancakes.type = "sfCase" or pancakes.type = "sfSID" or pancakes.type = "snowINC" or pancakes.type = "snowCHG" or pancakes.type = "snowPRJ" or pancakes.type = "snowPRB" or pancakes.type = "snowREQ" or pancakes.type = "snowRITM" or pancakes.type = "snowTASK") { | |
f_winAct(browserTitle) | |
f_winW(pancakes.val, pancakes.type) | |
} else { | |
Msgbox,,% "Selection: "pancakes.type ,% "("pancakes.type ") is not valid for ServiceNow, try again.", 2 | |
} | |
f_restoreSystemClipboardAndExit(origClipboard) | |
; ---------- | |
;###################################### | |
;## 'win+f' # goto SalesForce case ## | |
;###################################### | |
;This script sometimes fails when you're not already logged into SF. It seems to be an SSO issue and not something I can work around. | |
;Set your preferred browser title in the global variables section at the top of this file if you use multiple browsers. | |
#f:: | |
origClipboard := f_returnOrigClipboardAndCtrlC() | |
pancakes := f_identifyClipboard() | |
;Msgbox % "Clipboard: "Clipboard "`nType: "pancakes.type "`nVal: "pancakes.val "`norigClipboard: "origClipboard | |
if (pancakes.type = "sfCase" or pancakes.type = "sfSID" or pancakes.type = "sfKB") { | |
f_winAct(browserTitle) | |
f_winF(pancakes.val, pancakes.type) | |
} else { | |
Msgbox,,% "Selection: "pancakes.type ,% "("pancakes.type ") is not valid for SalesForce try again.", 2 | |
} | |
f_restoreSystemClipboardAndExit(origClipboard) | |
; ---------- | |
;############################################ | |
;## 'win+s' # search selected in Outlook ## | |
;############################################ | |
;This script works surprisingly well. :D If it becomes fragile on slower or heavily taxed systems, disable the unified command and enable the prior lines with comments. | |
;You can customize the Outlook title in the global variables section at the top of this file if you find it has trouble activating the correct Outlook window. | |
#s:: | |
origClipboard := f_returnOrigClipboardAndCtrlC() | |
SplashTextOn,1000,50,Searching for email related to %Clipboard% ; splash message indicating URL action | |
f_winAct(outlookTitle) ; activate the main Outlook window (could be Inbox, Calendar, Tasks) | |
;SendInput ^1 ; Send Ctrl+1 to ensure we're in the Inbox | |
;Sleep, 250 | |
;SendInput ^e ; send Ctrl-E to get into the search box | |
;Sleep, 250 | |
;SendInput ^a{delete} ; select any text already in the search box and delete | |
SendInput ^1^e^a{delete} ; single unified send of the above | |
Sleep, 250 | |
SendInput, %Clipboard% ; paste the clipboard contents and go | |
Sleep, 2000 | |
SplashTextOff | |
f_restoreSystemClipboardAndExit(origClipboard) | |
; ---------- | |
; ---------- UTILITIES ---------- UTILITIES ---------- UTILITIES ---------- | |
;######################################## | |
;## 'ctrl+shift+v' # paste plaintext ## | |
;######################################## | |
^+v:: | |
clipboard = %clipboard% ; will remove formatting from windows clipboard | |
SendInput ^v ; ctrl + v (paste windows clipboard) | |
return ; To execute multiple commands, put the first line beneath the hotkey definition and make the last line a return | |
; ---------- | |
;########################################## | |
;## 'ctrl+win+alt+v' # CyberArk paster ## | |
;########################################## | |
^#!v:: | |
SendInput ^c ;Copy selected text | |
ClipWait, 1 ;Wait up to 1 second for Clipboard to contain text | |
if ErrorLevel | |
{ | |
MsgBox,,, The attempt to copy text onto the clipboard failed. Did you highlight anything? | |
Exit, 1 | |
} | |
MsgBox, 4097, , Activate the window into which you wish to paste text and click OK.`n`nText block to be pasted:`n`n%Clipboard% | |
IfMsgBox, Cancel ;CANCEL handler | |
{ | |
SplashTextOn,,, Canceled | |
Sleep 750 | |
SplashTextOff | |
Return | |
} | |
Sleep, 250 | |
SendRaw, %Clipboard% ;sends raw keystrokes to type windows clipboard contents | |
return | |
; ---------- | |
;################################ | |
;## 'win+v' # show clipboard ## | |
;################################ | |
; Show Clipboard contents in a popup message box | |
#v:: | |
MsgBox,,Clipboard contents:, %Clipboard%, 25 | |
return | |
; ---------- | |
;################################ | |
;## 'ctrl+alt+d' = alt+shift+d ## | |
;################################ | |
; insert current date using [alt]+[shift]+d (Windows default) or [ctrl]+[alt]+d | |
^!d::send, !+d | |
; ---------- | |
;######################### | |
;## 'ctrl+d' = ctrl+f ## | |
;######################### | |
; remaps [ctrl]+d (bookmark shortcut) to [ctrl]+f to perform search within webpage | |
^d::send, ^f | |
; ---------- | |
;################################ | |
;## Windows Search = Refresh ## | |
;################################ | |
; remaps the Windows search button on MS Ergonomic keyboard to F5 (Refresh) | |
;+#SC06C::send, {F5} ; (DISABLED) | |
; ---------- | |
;######################################## | |
;## 'ctrl+alt+v' # unicode checkmark ## | |
;######################################## | |
; [ctrl]+[alt]+v -- insert unicode checkmark) | |
^!v:: | |
SendInput, {U+2714} | |
return | |
; ---------- | |
;######################################## | |
;## 'ctrl+alt+x' # unicode eckskmark ## | |
;######################################## | |
; [ctrl]+[alt]+x -- insert unicode ecksmark [x]) | |
^!x:: | |
SendInput, {U+2718} | |
return | |
; ---------- | |
;###################################### | |
;## 'ctrl+shift+x' # clear clipboard ## | |
;###################################### | |
; Empty the Windows clibboard | |
^+x:: | |
if ( StrLen(Clipboard) > 0 ) { | |
Msgbox, 4, Crtl + Alt + x, Clear Clipboard? | |
IfMsgBox, Yes | |
{ | |
Clipboard := "" | |
Msgbox,, Hey`, Listen!, Clipboard Cleared!, 1 | |
return | |
} | |
return | |
} else { | |
Msgbox,, Hey`, Listen!, Clipboard already empty!, 1 | |
return | |
} | |
; ---------- | |
;############################################### | |
;## 'ctrl+shift+c' # Copy Append (non-binary) ## | |
;############################################### | |
; Append a selected text to the end of existing clipboard using expressional assignment. | |
^+c:: | |
origClipboard := f_returnOrigClipboardAndCtrlC() | |
if ( StrLen(origClipboard) > 0 ) { | |
newClipboard := "`r`n`r`n" . Clipboard ;whatever was highlighted is now in our new variable newClipboard (appending two return line feeds) | |
Clipboard := "" ;orig and new clipboards saved, clear system clipboard | |
Clipboard := origClipboard . newClipboard ;Set system clipboard with the newClipboard appended to the origClipboard | |
ClipWait, 1 | |
if ErrorLevel | |
{ | |
MsgBox,,Ctrl+Shift+c (Copy Append), The attempt to copy text onto the clipboard failed. | |
Exit, 1 | |
} | |
newClipboard := "" ;free memory | |
origClipboard := "" ;free memory | |
return | |
} else { | |
return | |
} | |
; ---------- MY SCRIPTS ---------- MY SCRIPTS ---------- MY SCRIPTS ---------- | |
;###################################### | |
;## 'ctrl+shift+u' # paste signature ## | |
;###################################### | |
;Will paste your signature super fast, saves original clipboard content (non-binary) | |
^+u:: | |
origClipboard := Clipboard ;store original clipboard contents to restore later | |
Clipboard := "" ;clear Clipboard so we can use ClipWait | |
Clipboard := "Please let me know if you have any additional questions.`n`nKind regards,`nToby Garcia | Cloud Operations Lead | Kronos Incorporated`ntel: 978-947-1661 | Kronos Global Support: 800-394-4357`n`nKronos | Workforce Innovation That Works`nJoin Kronos on: kronos.com | Facebook | Twitter | LinkedIn | YouTube" | |
ClipWait, 1 | |
SendInput ^v ;Paste Sig | |
f_restoreSystemClipboardAndExit(origClipboard) | |
; ---------- | |
;################################### | |
;## 'ctrl+shift+g' # Greeting ## | |
;################################### | |
;Will paste your greeting email super fast, saves original clipboard content (non-binary) | |
^+g:: | |
origClipboard := Clipboard ;store original clipboard contents to restore later | |
Clipboard := "" ;clear Clipboard so we can use ClipWait | |
Clipboard := "Hello,`nMy name is Toby and I have the privilege to be your engineer for this service request." | |
ClipWait, 1 | |
SendInput ^v ;Paste Greeting | |
f_restoreSystemClipboardAndExit(origClipboard) | |
; ---------- | |
;################################ | |
;## 'ctrl+shift+y' # paste PAR ## | |
;################################ | |
;Will paste the PAR template super fast, saves original clipboard content (non-binary content) | |
^+y:: | |
origClipboard := Clipboard ;store original clipboard contents to restore later | |
Clipboard := "" ;clear Clipboard so we can use ClipWait | |
Clipboard := "PAR Summary`n`nPROBLEM:`n<Concise problem statement>`n`nANALYSIS:`n<One to three bullets>`n`nRESOLUTION:`n<Keep it short & sweet>" | |
Clipboard := "Problem Specification:`n (Clear, confirmed, specific restatement of the actual problem)`n`nAnalysis:`n (Assertions proven or disproven through troubleshooting, relevant objects or messages, assumptions challenged, triggers for recognizing specified problem)`n`nResolution:`n (critical analysis of actual resolution to specified problem, consider 5 whys, list IDs or KBs)`n`n#PAR" | |
ClipWait, 1 | |
SendInput ^v ;Paste PAR | |
f_restoreSystemClipboardAndExit(origClipboard) | |
; ---------- | |
;################################### | |
;## 'ctrl+shift+h' # ref hashtags ## | |
;################################### | |
;Will paste the reference hashtags super fast, saves original clipboard content (non-binary content) | |
^+h:: | |
origClipboard := Clipboard ;store original clipboard contents to restore later | |
Clipboard := "" ;clear Clipboard so we can use ClipWait | |
Clipboard := "`n`n`n#refINC: #refRITM #refCase #refCHG" | |
ClipWait, 1 | |
SendInput ^v ;Paste hashtags | |
f_restoreSystemClipboardAndExit(origClipboard) | |
; ---------- HOTSTRINGS ---------- HOTSTRINGS ---------- HOTSTRINGS ---------- | |
;To define a hotstring, enclose the triggering abbreviation between pairs of colons as in this example: | |
; ::btw::by the way | |
; | |
; For the previous example, you must type an ending character (e.g. Tab or Enter) after the hotstring abbreviation to trigger it. | |
; Asterisk option: An ending character (e.g. Space, ., or Enter) is not required to trigger the hotstring. For example: | |
; :*:j@::[email protected] | |
:*:newinc::[email protected] | |
::!shrug::¯\_(ツ)_/¯ | |
:*:cadocs:: | |
( Join`r`n | |
Access via CyberArk: https://kronos.my.salesforce.com/kA361000000fy8S?srPos=1&srKp=ka3&lang=en_US | |
Move files via SFTP: https://kronos.my.salesforce.com/kA34M000000kABX?srPos=0&srKp=ka3&lang=en_US | |
) | |
::td:: | |
SendInput %A_YYYY%-%A_MM%-%A_DD% | |
return | |
::dt:: | |
SendInput %A_YYYY%-%A_MM%-%A_DD% %A_Hour%:%A_Min% | |
return | |
::Cut01:: | |
( | |
GM , | |
Cloud teams are standing by to perform this cutover at HH:MM. Please confirm when pre-cutover tasks are complete and we will proceed. | |
Thanks, | |
) | |
::Cut02:: | |
( | |
Thank you ! | |
Cloud teams proceed with your assigned cutover tasks for RITM. | |
Best, | |
) | |
::Cut03:: | |
( | |
Thank you ! | |
, you may resume post-cutover TC tasks. | |
Cloud teams, please finalize any outstanding cutover tasks. | |
Thanks again to all, | |
) | |
2020-02-05 Changes:
- Added functionality to paste text from laptop into CyberArk protected servers
- Added HotStrings for WFC Cutover emails
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
2019-05-15 Changelog:
• Added function to select my preferred browser before launching URLs
• Modified win+F and win+W scripts to utilize the new function
• Added new section for HotString substitutions