Here is my Code presently... Wish I had more time to go through and comment everything for you; but things are kind of busy here at the desk and presently I don't get time to dedicate to this project.
Code:
; Program Title
program_title = 3S D Tool Box (Alpha 1.3)
; System Tray Icon
Menu, Tray, Icon, %A_ScriptDir%\images\tray.ico
Menu, Tray, Tip, %program_title%
Menu, tray, add, Settings, 3ST_Settings
Menu, tray, add, Clear ClipBoard, Clear_ClipBoard
;
; AutoHotkey Version: 1.x
; Language: English
; Platform: Win9x/NT
; Author: Samuel D. Harney <sam@samharney.com>
;
; Script Function: The purpose of this script is to simpligy the repetitive
; routines of the Agents working in the Service Desk. To Streamline tasks
; to allow for a more standardized front, and smoother operations.
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
; Includes GetINIVars.ahk
#Include %A_ScriptDir%\getinivars.ahk ; This script file reads all my stored variables from multiple INI files.
;Main GUI Window, GUI allows for agent to run most scripts with their mouse if they choose (Parts of the GUI do not have any actual scripts added yet, so still have other features the GUI will reveal that I still need to code)
Gui 1: Default
Gui, Add, Picture, x0 y0 w222 h92 , %A_ScriptDir%\3st-logo.gif
Gui, Add, MonthCal, x2 y92 w210 h152 vSelected_Date ,
Gui, Add, Text, x2 y251 w67 h20 , Current Mode:
Gui, Add, Text, x70 y251 w150 h40 vPm , %phonemode%
Gui, Add, Text, x2 y288 w49 h15 , Set Mode
;The following 3 lines of the GUI have no script yet. Partly because it would require a second seperate script that was encoded as a seperate exe file for the final product, and also because Managment stated that they didn't like parts of this feature...
Gui, Add, DropDownList, x73 y286 w120 h21 vSelectedMode r5 AltSubmit, 10 Min. Break|15 Min. Break|Available|Availabe w/ T-Pop|Available No ACD|Logged Off & Log Out|Lunch|Lunch (30 Min.)|Lunch (1 Hour)
Gui, Add, Text, x2 y313 w75 h15 , Return Mode
Gui, Add, DropDownList, x73 y308 w120 h21 vreturn_code r5 AltSubmit, Meeting-Mgr|Meeting-Team|Available|Available w/ T-Pop||Available No ACD|Special Projects|Training-Company|Training-Customer
;Gui, Add, Button, x193 y286 w20 h21 gGetMode, >
AddGraphicButton("interaction_mode_button", A_WorkingDir . "\images\interaction.bmp", "x193 y286 w20 h21 gGetMode", 15, 15)
Gui, Add, Text, x2 y335 w65 h15 , Assign To:
Gui, Add, DropDownList, x73 y330 w120 h21 vDDAssignTo r3 AltSubmit, Tier 1 %Remedy_Name%|Tier 2 %Remedy_Name%|Site Support
AddGraphicButton("remedy_assign_button", A_WorkingDir . "\images\remedy.bmp", "x193 y330 w20 h21 gAssignTo", 15, 15)
Gui, Add, Text, x2 y357 w65 h15 , Email From
Gui, Add, DropDownList, x73 y352 w120 h21 vDDEmail_From r3 AltSubmit, %Email_Name%||ServiceDesk Ticket-Updates
AddGraphicButton("new_email_button", A_WorkingDir . "\images\newemail.bmp", "x193 y352 w20 h21 gEmail_Customer", 12, 15)
Gui, Add, Text, x2 y379 w65 h15 , Tier II:
Gui, Add, DropDownList, x73 y374 w120 h21 vDDTierII r3 AltSubmit, Day 1:Follow-Up|Day 2:COB Notice|Day 4:Close Ticket
AddGraphicButton("tierii_button", A_WorkingDir . "\images\remedy.bmp", "x193 y374 w20 h21 gTierII_Drop_Down", 15, 15)
Gui, Add, Button, x4 y415 w100 h30 gcallers_tickets_HK, Look-up All of`nthe Callers Tickets
Gui, Add, Button, x112 y415 w100 h30 gwip_ticket_button, WIP`r`nTicket
AddGraphicButton("remedy_button", A_WorkingDir . "\images\remedy.bmp", "x4 y462 h30 w30 gActivate_Remedy", 25, 25)
AddGraphicButton("outlook_button", A_WorkingDir . "\images\outlook.bmp", "x35 y462 h30 w30 gActivate_Outlook", 25, 25)
AddGraphicButton("bomgar_button", A_WorkingDir . "\images\bomgar.bmp", "x66 y462 h30 w30 gActivate_Bomgar", 25, 25)
;Gui, Add, Button, x112 y462 w100 h30 gActivate_Outlook, Outlook
;Gui, Tab, Tier II
; Generated using SmartGUI Creator 4.0
Gui, Show, X%windowX% Y%windowY% h500 w218, %program_Title%
Gui, Color, FFFFFF
Gui, +AlwaysOnTop
If %alwaysOnTop% = 0
{
Gui, -AlwaysOnTop
}
;HotKey Global Listeners (The following HotKeys are only de-activated when the Settings window is open. Some HotKeys need to be either locked down to a specific program or scripts updated to make sure and switch to that program before executing.)
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %available_HK%, Available_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %available_w_TP_HK%, AvailablewTP_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %available_no_acd_HK%, available_no_acd_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %callers_tickets_HK%, callers_tickets_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %email_caller_HK%, Email_Customer
Hotkey, IfWinActive, BMC Remedy User - [CITS Service Management ;Using partical Window Title match mode so that both Tier 1 and Tier 2 agents could use this script
Hotkey, %resolve_qc_HK%, AssignToAgent_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %wip_ticket_HK%, wip_ticket_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %t2_day1_HK%, t2_day1_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %t2_day2_HK%, t2_day2_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %t2_day4_HK%, t2_day4_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %activate_remedy_HK%, activate_remedy
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %activate_outlook_HK%, activate_outlook
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %call_highlighted_HK%, call_highlighted_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %call_phone_HK%, call_phone_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %call_cell_HK%, call_cell_HK
Return
;"Subroutines" are used as the main way for controling the flow of the script
;Button Subs
TierII_Drop_Down: ;This Subroutine is for the GUI window, it gets the result for the DDTierII dropdown and then based on the number it sends the script to the proper Subroutine.
GuiControlGet, DDTierII
If DDTierII = 1
{
GoSub, t2_day1_HK
}
Else If DDTierII = 2
{
GoSub, t2_day2_HK
}
Else If DDTierII = 3
{
GoSub, t2_day4_HK
}
Return
Email_Customer: ;This Subroutine is curently broken, due to me attempting to use ControlGetText, and ControlSetText in place of the Copy/Paste commands that I had been using.
GuiControlGet, DDEmail_From
ClipCurrnet = %ClipboardAll%
Clipboard = ;
SetTitleMatchMode 2
WinWait, BMC Remedy User - [CITS Service Management,
IfWinNotActive, BMC Remedy User - [CITS Service Management, , WinActivate, BMC Remedy User - [CITS Service Management,
WinWaitActive, BMC Remedy User - [CITS Service Management,
Send, +^{HOME}{Tab %email_address%} ;Shift+Control+Home is a keyboard command within our Remedy that sends the cursor to the Home field, The Home field is where all my Tab numbering is based off of, and the Tab numbers are stored in an INI file.
Sleep 500
ControlGetText, ticket_email, RichEdit20A1, BMC Remedy User - [CITS Service Management
If DDEmail_From = 1
{
Run mailto:%ticket_email%&subject=SERVICE DESK
}
Else If DDEmail_From = 2
{
Run mailto:%ticket_email%&subject=SERVICE DESK
WinWait, SERVICE DESK
Sleep, 1000
ControlSetText, RichEdit20WPT1, ServiceDesk Ticket-Updates, SERVICE DESK
Sleep, 100
email_body = %Agent_Initials% |`r`nService Desk Support Specialist II`r`nIT Services`r`nPhone: %Service_Desk_Phonenum% Fax: %Service_Desk_faxnum%`r`n%Service_Desk_homepage%
;MsgBox, %email_body%
ControlSetText, _WwG1, %email_body%, SERVICE DESK
Sleep, 100
Send, ^{HOME}{DEL}{ENTER}{ENTER}^{HOME}
Clipboard = %ClipCurrent%
}
Return
AssignTo: ; Assign Ticket DropDown Box
GuiControlGet, DDAssignTo
If DDAssignTo = 3
{
GoSub, Assign_To_Site_Support
}
Else If DDAssignTo != 3
{
GoSub, AssignToAgent
}
Return
AssignToAgent_HK:
DDAssignTo = 1
AssignToAgent:
SetTitleMatchMode 2
WinWait, BMC Remedy User - [CITS Service Management,
IfWinNotActive, BMC Remedy User - [CITS Service Management, , WinActivate, BMC Remedy User - [CITS Service Management,
WinWaitActive, BMC Remedy User - [CITS Service Management,
If DDAssignTo = 2
{
Send, +^{HOME}
Sleep, 100
Send, {Tab %group%}
Send, +{HOME}%t2_queue%
TabTo(assignee, group)
Send, +{HOME}%Remedy_Name%
}
Else If DDAssignTo = 1
{
Send, +^{HOME}
Sleep, 100
Send, {Tab %group%}
Send, +{HOME}Service Desk
TabTo(assignee, group)
Send, +{HOME}%Remedy_Name%
}
Return
Assign_To_Site_Support:
Clipcurrent = %ClipBoardAll%
Clipboard = ;
SetTitleMatchMode 2
WinWait, BMC Remedy User - [CITS Service Management,
IfWinNotActive, BMC Remedy User - [CITS Service Management, , WinActivate, BMC Remedy User - [CITS Service Management,
WinWaitActive, BMC Remedy User - [CITS Service Management,
Send, +^{HOME}
Sleep, 100
Send, {TAB %locationdetails%}{ENTER}
SetTitleMatchMode 2
WinWait, BMC Remedy User - [CITS Location Information (Modify)],
Sleep, 500
Send, {F6}
Sleep, 300
Send +{END}
Sleep, 100
Send, ^c
Clipwait,
Sleep, 100
Send, ^{F4}
WinWait, Remedy User - [CITS Service Management,
Sleep, 100
Tabto(group, locationdetails)
Send +{HOME}^v
Sleep, 500
Tabto(assignee, group)
Send +{HOME}{Backspace}
Clipboard = %Clipcurrent%
Return
Activate_Remedy:
WinGet, wList, List, ahk_class ArFrame
if !wList { ; if wList is empty/zero (no Remedy windows exist)
Run, C:\Program Files\AR System\User\aruser.exe
return
}
if (wList >= 1) {
WinActivate, % "ahk_id " wList1
return
}
Return
Activate_Outlook:
Run, outlook.exe /recycle
Return
Activate_Bomgar:
WinGet, wList, List, ahk_class QWidget
if !wList { ; if wList is empty/zero (no Outlook windows exist)
Clipcurrent = %ClipBoardAll%
Clipboard = ;
SetTitleMatchMode, 2
WinActivate, Remedy User
WinWaitActive, Remedy User
Send, +^{HOME}
Sleep 100
Send {TAB %email_address%}+{HOME}^c
Clipwait,
bomgar_email_address = %Clipboard%
Run, C:\Program Files\Bomgar\Representative\remote-its.naismc.com\bomgar-rep.exe
WinWaitActive, Bomgar - Representative Login
Send, {ENTER}
WinWaitActive, Bomgar Representative Console
Send !s{DOWN}{ENTER}
WinWaitActive, Session Key Generated
Clipboard = ;
Sleep, 100
Send, {TAB 4}^c
Clipwait,
Sleep, 100
bomgar_session_key = %Clipboard%
Sleep, 100
StringReplace, bomgar_session_key, bomgar_session_key, ?, `%3F, All
Send, {ESC}
Sleep, 100
; Run mailto:%bomgar_email_address%&subject=Service Desk Remote Support Invitation from %agent_first_name%
bomgar_email_body=
(
%agent_first_name% would like to start a support session with you. To do so, please click on the link below and follow the online instructions.`%0A`%0A%bomgar_session_key%`%0A`%0ABomgar enables a support representative to view your screen in order to assist you. Session traffic is fully encrypted to protect your system's data. Once a session has begun, you will be able to end it at any time.`%0A`%0A%Agent_Initials% | `%0A%Agent_Title%`%0AIT Services`%0APhone: %Service_Desk_Phonenum% Fax: %Service_Desk_faxnum%`%0A%Service_Desk_homepage%
)
Run mailto:%bomgar_email_address%&subject=Service Desk Remote Support Invitation from %agent_first_name%&Body=%bomgar_email_body%
WinWait, Service Desk Remote Support Invitation from %agent_first_name%
Sleep, 100
ControlSetText, RichEdit20WPT1, ServiceDesk Ticket-Updates, Service Desk Remote Support Invitation from %agent_first_name%
;Send, +{TAB 4}ServiceDesk Ticket-Updates
Sleep, 300
; Send, {TAB 5}^a{DEL}%agent_first_name% would like to start a support session with you. To do so, please click on the link below and follow the online instructions.{ENTER}{ENTER}%bomgar_session_key%{ENTER}{ENTER}Bomgar enables a support representative to view your screen in order to assist you. Session traffic is fully encrypted to protect your system's data. Once a session has begun, you will be able to end it at any time.^b{Enter}{Enter}%Agent_Initials%^b{SPACE}| {ENTER}%Agent_Title%{ENTER}IT Services{ENTER}Phone: %Service_Desk_Phonenum% Fax: %Service_Desk_faxnum%{ENTER}%Service_Desk_homepage%
Sleep, 100
Clipboard = Clipcurrent
Clipwait
return
}
if (wList >= 1) {
Clipcurrent = %ClipBoardAll%
Clipboard = ;
SetTitleMatchMode, 2
WinActivate, Remedy User
WinWaitActive, Remedy User
Send, +^{HOME}
Sleep 100
Send {TAB %email_address%}+{HOME}^c
Clipwait,
bomgar_email_address = %Clipboard%
WinActivate, % "ahk_id " wList1
WinWaitActive, Bomgar Representative Console
Send !s{DOWN}{ENTER}
WinWaitActive, Session Key Generated
Clipboard = ;
Sleep, 100
Send, {TAB 4}^c
Clipwait,
Sleep, 100
bomgar_session_key = %Clipboard%
Sleep, 100
StringReplace, bomgar_session_key, bomgar_session_key, ?, `%3F, All
Send, {ESC}
Sleep, 100
bomgar_email_body=
(
%agent_first_name% would like to start a support session with you. To do so, please click on the link below and follow the online instructions.`%0A`%0A%bomgar_session_key%`%0A`%0ABomgar enables a support representative to view your screen in order to assist you. Session traffic is fully encrypted to protect your system's data. Once a session has begun, you will be able to end it at any time.`%0A`%0A%Agent_Initials% | `%0A%Agent_Title%`%0AIT Services`%0APhone: %Service_Desk_Phonenum% Fax: %Service_Desk_faxnum%`%0A%Service_Desk_homepage%
)
Run mailto:%bomgar_email_address%&subject=Service Desk Remote Support Invitation from %agent_first_name%&Body=%bomgar_email_body%
; Run mailto:%bomgar_email_address%&subject=Service Desk Remote Support Invitation from %agent_first_name%
WinWait, Service Desk Remote Support Invitation from %agent_first_name%
Sleep, 100
Send, +{TAB 4}ServiceDesk Ticket-Updates
Sleep, 300
; Send, {TAB 5}^a{DEL}%agent_first_name% would like to start a support session with you. To do so, please click on the link below and follow the online instructions.{ENTER}{ENTER}%bomgar_session_key%{ENTER}{ENTER}Bomgar enables a support representative to view your screen in order to assist you. Session traffic is fully encrypted to protect your system's data. Once a session has begun, you will be able to end it at any time.^b{Enter}{Enter}%Agent_Initials%^b{SPACE}| {ENTER}%Agent_Title%{ENTER}IT Services{ENTER}Phone: %Service_Desk_Phonenum% Fax: %Service_Desk_faxnum%{ENTER}%Service_Desk_homepage%
Sleep, 100
Clipboard = Clipcurrent
Clipwait
return
}
Return
; HotKey Subs
Available_HK:
SelectedMode=3
GoSub ChangeMode
Return
AvailablewTP_HK:
SelectedMode = 4
GoSub ChangeMode
Return
available_no_acd_HK:
SelectedMode = 5
GoSub ChangeMode
Return
callers_tickets_HK:
SetTitleMatchMode 2
WinActivate, Remedy User - [CITS Service Management
Send, +^{HOME}
Sleep, 100
Send, {TAB %employee_id%}
Sleep, 100
Send +{HOME}^c^o!a{HOME}cits incident/problem management{ENTER}
WinWait, Remedy User - [CITS Service Management
IfWinNotActive, Remedy User - [CITS Service Management, WinActivate, Remedy User - [CITS Service Management
WinWaitActive, Remedy User - [CITS Service Management
Sleep, 100
Send +^{HOME}
Send, {TAB %employee_id%}^v^{ENTER}
Return
;Tier II HotKey Subs
wip_ticket_button:
WinWait, BMC Remedy User - [CITS Service Management,
IfWinNotActive, BMC Remedy User - [CITS Service Management, , WinActivate, BMC Remedy User - [CITS Service Management,
WinWaitActive, BMC Remedy User - [CITS Service Management,
wip_ticket_HK:
BlockInput, on
Send, +^{HOME}
Send, {TAB %status%}w
TabTo(worklog, status)
Sleep, 500
Send, %Wip_Work_Log_Entry%
Sleep, 100
Tabto(timespent, worklog)
Send, {Backspace}1
Tabto(assignee, timespent)
Send, +{HOME}
Send, %Remedy_Name%
;Send, {CTRLDOWN}{ENTER}{CTRLUP}
;WinWait, AR System User - Note,
;IfWinNotActive, AR System User - Note, , WinActivate, AR System User - Note,
;WinWaitActive, AR System User - Note,
;Send, {Enter}
BlockInput, off
Return
t2_day1_HK:
SetTitleMatchMode 2
WinWait, BMC Remedy User - [CITS Service Management (Modify)],
IfWinNotActive, BMC Remedy User - [CITS Service Management (Modify)], , WinActivate, BMC Remedy User - [CITS Service Management (Modify)],
WinWaitActive, BMC Remedy User - [CITS Service Management (Modify)],
ClipCurrent = %ClipBoardAll%
ClipBoard = ;
Sleep, 350
Send, +^{HOME}
Sleep, 100
Send, {TAB %case_id%}
Send, +{HOME}^c
ClipWait ;
fueticket = %ClipBoard%
Clipboard = ;
Sleep, 350
TabTo(email_address, case_id)
Sleep, 100
Send, ^{END}+{HOME}^c
ClipWait ;
fueemail = %ClipBoard%
ClipBoard = ;
Sleep, 350
TabTo(short_description, email_address)
Sleep, 100
Send, +{UP}+{HOME}^c
ClipWait ;
fueshortDis = %ClipBoard%
ClipBoard = ;
t2_day1_email_body=
(
A Service Desk agent was unable to reach you at phone number provided in the ticket. Please contact the Service Desk at ___-___-____ for assistance regarding Ticket Number <%fueticket%> The description for this ticket is: <%fueshortDis%>`%0A`%0A%Agent_Initials% | `%0A%Agent_Title%`%0AIT Services`%0APhone: %Service_Desk_Phonenum% Fax: %Service_Desk_faxnum%`%0A%Service_Desk_homepage%
)
Sleep, 350
Run mailto:%fueemail%&subject=SERVICE DESK FOLLOW-UP: %fueticket%&Body=%t2_day1_email_body%
WinWait, SERVICE DESK FOLLOW-UP: %fueticket%
Sleep, 1000
ClipBoard = ServiceDesk Ticket-Updates
ClipWait ;
Send, +{TAB 4}
Send ^v
Sleep, 300
Send, !f
Sleep, 100
Send, a
WinWait, Save As,
WinWaitActive, Save As,
Sleep, 300
ClipBoard = %Stored_Email%SERVICE DESK FOLLOW-UP
ClipWait ;
Send ^v
Send, {TAB}oo{ENTER}{ENTER}
WinWait, Microsoft Office Outlook,
IfWinNotActive, Microsoft Office Outlook, , WinActivate, Microsoft Office Outlook,
WinWaitActive, Microsoft Office Outlook,
Send, {LEFT}{ENTER}
WinWait, Remedy User - [CITS Service Management (Modify)], CITS Service Managem
IfWinNotActive, Remedy User - [CITS Service Management (Modify)], CITS Service Managem, WinActivate, Remedy User - [CITS Service Management (Modify)], CITS Service Managem
WinWaitActive, Remedy User - [CITS Service Management (Modify)], CITS Service Managem
Sleep, 350
ClipBoard = <ve %A_MM%/%A_DD% %Agent_Initials%
Send {HOME}^v{SPACE}
TabTo(status, short_description)
Send, {home}p
TabTo(pending, status)
Send, {home}
Tabto(attachment, pending)
attachment_file = 0
GoSub, Attach_Email_To_Ticket
WinActivate, Remedy User - [CITS Service Management (Modify)], CITS Service Managem
WinWait, Remedy User - [CITS Service Management (Modify)], CITS Service Managem
If attachment_file > 1
{
Send, {DOWN %attachment_file%}
}
If attachment_file < 5
{
Send, {UP}
}
Send {APPSKEY}a
Sleep, 300
Send, %Stored_Email%SERVICE DESK FOLLOW-UP.msg{ENTER}
TabTo(worklog, attachment)
Send, %day1_work_log_entry%
TabTo(timespent, worklog)
Send, {BACKSPACE}5
TabTo(assignee, timespent)
Send, +{HOME}
Send, %Remedy_Name%
Sleep, 500
ClipBoard = %ClipCurrent%
Return
t2_day2_HK:
GoSub, COB_Parse
If A_DD = %cob_day%
{
MsgBox,0,Error: COB Date,ERROR: COB Date = Todays Date`r`nPlease Select a COB Date with a future date.
Return
}
If (A_DD > %cob_day%) and (A_MM = %cob_month%)
{
MsgBox,0,Error: COB Date,ERROR: COB Date is PRIOR to Todays Date`r`nPlease Select a COB Date with a future date.
Return
}
;If (A_DD = 1) and (%cob_day% > 26)
; {
; MsgBox,0,Error: COB Date,ERROR: COB Date is PRIOR to Todays Date`r`nPlease Select a COB Date with a future date.
; Return
; }
SetTitleMatchMode 2
WinWait, Remedy User - [CITS Service Management (Modify)], CITS Service Managem
IfWinNotActive, Remedy User - [CITS Service Management (Modify)], CITS Service Managem, WinActivate, Remedy User - [CITS Service Management (Modify)], CITS Service Managem
WinWaitActive, Remedy User - [CITS Service Management (Modify)], CITS Service Managem
ClipCurrent = %ClipBoardAll%
ClipBoard = ;
Sleep, 350
Send, +^{HOME}
Sleep, 100
Send, {TAB %case_id%}
Send, +{HOME}^c
ClipWait ;
cobticket = %ClipBoard%
Clipboard = ;
Sleep, 350
TabTo(email_address, case_id)
Sleep, 100
Send, ^{END}+{HOME}^c
ClipWait ;
cobemail = %ClipBoard%
ClipBoard = ;
Sleep, 350
TabTo(short_description, email_address)
Sleep, 100
Send, +{UP}+{HOME}^c
ClipWait ;
cobshortDis = %ClipBoard%
ClipBoard = ;
Sleep, 350
Run mailto:%cobemail%&subject=Ticket due to close: %cobticket%
WinWait, Ticket due to close: %cobticket%
Sleep, 1000
ClipBoard = ServiceDesk Ticket-Updates
ClipWait ;
Send, +{TAB 4}^v
Sleep, 300
ClipBoard = A Service Desk agent was unable to reach you at phone number provided in the ticket. This is the second attempt to contact you regarding ticket number
ClipWait ;
Send, {TAB 5}^a{DEL}
Send ^v^b{SPACE}<
Sleep, 300
ClipBoard = %cobticket%>
ClipWait ;
Send ^v^b{SPACE}
Sleep, 300
ClipBoard = The description for this ticket is:
ClipWait ;
Send ^v^b{SPACE}<
Sleep, 300
Clipboard = ;
GoSub, Format_Short_Description
ClipWait ;
WinActivate, Ticket due to close: %cobticket%
Send %COB_Short_Description%>{ENTER}{ENTER}
ClipBoard = Your ticket will be CLOSED if there is no response by close of business tomorrow <%cob_month%/%cob_day%>
ClipWait,
Send, ^v^b{SPACE}
Sleep, 300
Clipboard = ;
Clipboard = If you are still experiencing a problem or have any questions, please contact the Service Desk immediately at ___-___-____. We look forward to assisting you.
ClipWait ;
Send ^v^b{ENTER}{ENTER}%Agent_Initials%^b{SPACE}
Sleep, 300
ClipBoard = | `r`nService Desk Support Specialist II`r`nIT Services`r`nPhone: %Service_Desk_Phonenum% Fax: %Service_Desk_faxnum%`r`n%Service_Desk_homepage%
ClipWait ;
Send ^v
Sleep, 300
Send, !f
Sleep, 100
Send, a
WinWait, Save As,
;IfWinNotActive, Save As, , WinActivate, Save As,
WinWaitActive, Save As,
Sleep, 300
ClipBoard = %Stored_Email%Ticket due to close
ClipWait ;
Send ^v{TAB}oo{ENTER}{ENTER}
WinWait, Microsoft Office Outlook,
IfWinNotActive, Microsoft Office Outlook, , WinActivate, Microsoft Office Outlook,
WinWaitActive, Microsoft Office Outlook,
Send, {LEFT}{ENTER}
WinWait, Remedy User - [CITS Service Management (Modify)], CITS Service Managem
IfWinNotActive, Remedy User - [CITS Service Management (Modify)], CITS Service Managem, WinActivate, Remedy User - [CITS Service Management (Modify)], CITS Service Managem
WinWaitActive, Remedy User - [CITS Service Management (Modify)], CITS Service Managem
Sleep, 350
ClipBoard = <ve %A_MM%/%A_DD% *COB %cob_month%/%cob_day%* %Agent_Initials% %COB_Short_Description%
Send {DEL}^v
TabTo(attachment, short_description)
attachment_file = 0
GoSub, Attach_Email_To_Ticket
WinActivate, Remedy User - [CITS Service Management (Modify)], CITS Service Managem
WinWait, Remedy User - [CITS Service Management (Modify)], CITS Service Managem
If attachment_file > 1
{
Send, {DOWN %attachment_file%}
}
If attachment_file < 5
{
Send, {UP}
}
Send {APPSKEY}a
Sleep, 300
Send, %Stored_Email%Ticket due to close.msg{ENTER}
TabTo(worklog, attachment)
Send, %day2_work_log_entry%
TabTo(timespent, worklog)
Send, {BACKSPACE}5
TabTo(assignee, timespent)
Send, +{HOME}
Send, %Remedy_Name%
Sleep, 500
ClipBoard = %ClipCurrent%
COB_ticket_finished = 1
Return
t2_day4_HK:
ClipCurrent = %ClipBoardAll%
ClipBoard = ;
SetTitleMatchMode 2
WinWait, Remedy User - [CITS Service Management (Modify)], CITS Service Managem
IfWinNotActive, Remedy User - [CITS Service Management (Modify)], CITS Service Managem, WinActivate, Remedy User - [CITS Service Management (Modify)], CITS Service Managem
WinWaitActive, Remedy User - [CITS Service Management (Modify)], CITS Service Managem
Sleep, 200
Send, +^{HOME}{TAB %worklog%}!+{F7}
WinWaitActive, CITS Service Managem
Send, {TAB 2}^{END}
MsgBox,4,Please Veriy updated status...,Has this ticket been updated since the user was notified that it was going to close?
IfMsgBox, Yes
Return
Send, {Esc}
WinWaitActive, Remedy User - [CITS Service Management (Modify)], CITS Service Managem
Send +^{HOME}
Send, {TAB %case_id%}+{HOME}^c
ClipWait,
TicketID = %ClipBoard%
Sleep, 500
Tabto(resolution_code, case_id)
Send, User - Unable to Reach/No Response
Sleep, 500
ClipBoard = ;
ClipBoard = The Service Desk has made two previous attempts to contact you regarding this ticket and received no response. We believe that your problem may be resolved so we will be closing ticket number %TicketID% . If you are still experiencing a problem or need additional assistance, please contact the Service Desk at ___-___-____ and we will open a new request for you. Thank you for your time.`r`n`r`n%Agent_Initials% | `r`n%Agent_Title%`r`nIT Services`r`nPhone: %Service_Desk_Phonenum% Fax: %Service_Desk_faxnum%`r`n%Service_Desk_homepage%
Clipwait
Tabto(status, resolution_code)
Send, r
Tabto(worklog, status)
Send ^v
Tabto(timespent, worklog)
Send, {BACKSPACE}5
Tabto(resolution, timespent)
Send ^v
;^{ENTER}
;WinWait, AR System User - Note, OK
;IfWinNotActive, AR System User - Note, OK, WinActivate, AR System User - Note, OK
;WinWaitActive, AR System User - Note, OK
;Send, {Enter}
;Sleep, 100
;WinWait, BMC Remedy User - [CITS Service Management (Modify)], CITS Service Managem
;IfWinNotActive, BMC Remedy User - [CITS Service Management (Modify)], CITS Service Managem, WinActivate, BMC Remedy User - [CITS Service Management (Modify)], CITS Service Managem
;WinWaitActive, BMC Remedy User - [CITS Service Management (Modify)], CITS Service Managem
;Send, {CTRLDOWN}{F4}{CTRLUP}
Return
call_highlighted_HK:
BlockInput, on
ClipCurrent = %ClipBoardAll%
ClipBoard = ;
Send, ^c
Dial()
ClipBoard = %ClipBoardAll%
BlockInput, off
Return
call_phone_HK:
BlockInput, on
SetTitleMatchMode 2
WinWait, Remedy User - [CITS Service Management
IfWinNotActive, Remedy User - [CITS Service Management, WinActivate, Remedy User - [CITS Service Management
WinWaitActive, Remedy User - [CITS Service Management
ClipCurrent = %ClipBoardAll%
ClipBoard = ;
Sleep, 350
Send, +^{HOME}
Sleep, 100
Send, {TAB %phone%}
Sleep, 500
Send, +{HOME}^c
Clipwait
Sleep, 1000
Dial()
ClipBoard = %ClipCurrent%
BlockInput, off
Return
call_cell_HK:
BlockInput, on
ClipCurrent = %ClipBoardAll%
ClipBoard = ;
SetTitleMatchMode 2
WinWait, Remedy User - [CITS Service Management
IfWinNotActive, Remedy User - [CITS Service Management, WinActivate, Remedy User - [CITS Service Management
WinWaitActive, Remedy User - [CITS Service Management
Send, +^{HOME}
Sleep, 100
Send, {TAB %cell%}
Sleep, 500
Send, +{HOME}^c
Clipwait
Sleep, 1000
Dial()
ClipBoard = %ClipCurrent%
BlockInput, off
Return
GetMode: ;Called by the ">" button next to the Set Mode Drop Down List.
GuiControlGet, SelectedMode
ChangeMode: ;Allows Hotkeys to by pass the GuiControlGet command above.
GuiControlGet, return_code
If (return_code = 1){
return_mode = Meeting-Mgr
}
Else If (return_code = 2){
return_mode = Meeting-Team
}
Else If (return_code = 3){
return_mode = Available
}
Else If (return_code = 4){
return_mode = Available w/ T-Pop
}
Else If (return_code = 5){
return_mode = Available No ACD
}
Else If (return_code = 6){
return_mode = Special Projects
}
Else If (return_code = 7){
return_mode = Training-Company
}
Else If (return_code = 8){
return_mode = Training-Customer
}
If (SelectedMode = 1){
GuiControl, Text, Pm, Aux - Break 10 Min.`r`nAuto %return_mode%
IniWrite, 10, %preferencesini%, Timer, minutes
IniWrite, 0, %preferencesini%, Timer, seconds
IniWrite, 10 Min. Break, %preferencesini%, Timer, mode_title
IniWrite, aux_break, %preferencesini%, Timer, mode_code
ChangeMode(aux_break)
Run %A_ScriptDir%\timer.ahk
}
Else If (SelectedMode = 2){
GuiControl, Text, Pm, Aux - Break 15 Min.`r`nAuto %return_mode%
IniWrite, 14, %preferencesini%, Timer, minutes
IniWrite, 45, %preferencesini%, Timer, seconds
IniWrite, 15 Min. Break, %preferencesini%, Timer, mode_title
IniWrite, aux_break, %preferencesini%, Timer, mode_code
ChangeMode(aux_break)
Run %A_ScriptDir%\timer.ahk
}
Else If (SelectedMode = 3){
GuiControl, Text, Pm, Available`r`nNo T-Pop
ChangeMode(available)
}
Else If (SelectedMode = 4){
GuiControl, Text, Pm, Available`r`nWith T-Pop
IniWrite, available, %preferencesini%, Timer, mode_code
ChangeMode(available)
Run %A_ScriptDir%\ticketpop.ahk
}
Else If (SelectedMode = 5){
GuiControl, Text, Pm, Available No ACD
ChangeMode(available_no_acd)
}
Else If(SelectedMode = 6){
GuiControl, Text, Pm, Logged Off &`r`nLogged Out
ChangeMode(logged_off)
WinWaitActive, Interaction Client: .NET Edition,
Send, !fo
}
return
GuiClose:
WinGetPos, 3sX, 3sY, , , A ; "A" to get the active window's pos.
IniWrite, %3sX%, %preferencesini%, GUI, windowx
IniWrite, %3sY%, %preferencesini%, GUI, windowy
ExitApp
;Tier II Comands
COB_Parse:
GuiControlGet, Selected_Date
Loop, parse, Selected_Date
{
date%A_index% = %A_LoopField%
}
cob_month = %date5%%date6%
cob_day = %date7%%date8%
return
; *******************************************************************
; AddGraphicButton.ahk
; *******************************************************************
; Version: 2.2 Updated: May 20, 2007
; by corrupt
; *******************************************************************
; VariableName = variable name for the button
; ImgPath = Path to the image to be displayed
; Options = AutoHotkey button options (g label, button size, etc...)
; bHeight = Image height (default = 32)
; bWidth = Image width (default = 32)
; *******************************************************************
; note:
; - calling the function again with the same variable name will
; modify the image on the button
; *******************************************************************
AddGraphicButton(VariableName, ImgPath, Options="", bHeight=32, bWidth=32){
Global
Local ImgType, ImgType1, ImgPath0, ImgPath1, ImgPath2, hwndmode
; BS_BITMAP := 128, IMAGE_BITMAP := 0, BS_ICON := 64, IMAGE_ICON := 1
Static LR_LOADFROMFILE := 16
Static BM_SETIMAGE := 247
Static NULL
SplitPath, ImgPath,,, ImgType1
If ImgPath is float
{
ImgType1 := (SubStr(ImgPath, 1, 1) = "0") ? "bmp" : "ico"
StringSplit, ImgPath, ImgPath,`.
%VariableName%_img := ImgPath2
hwndmode := true
}
ImgTYpe := (ImgType1 = "bmp") ? 128 : 64
If (%VariableName%_img != "") AND !(hwndmode)
DllCall("DeleteObject", "UInt", %VariableName%_img)
If (%VariableName%_hwnd = "")
Gui, Add, Button, v%VariableName% hwnd%VariableName%_hwnd +%ImgTYpe% %Options%
ImgType := (ImgType1 = "bmp") ? 0 : 1
If !(hwndmode)
%VariableName%_img := DllCall("LoadImage", "UInt", NULL, "Str", ImgPath, "UInt", ImgType, "Int", bWidth, "Int", bHeight, "UInt", LR_LOADFROMFILE, "UInt")
DllCall("SendMessage", "UInt", %VariableName%_hwnd, "UInt", BM_SETIMAGE, "UInt", ImgType, "UInt", %VariableName%_img)
Return %VariableName%_img ; Return the handle to the image
}
Format_Short_Description:
Gui 3:Default
Gui, Add, Text, x10 y10 w200 h30, Please Remove All Tier II Tags
Gui, Add, Edit, x10 y40 w200 h30 vCOB_Short_Description, %cobshortDis%
Gui, Add, Button, x220 y40 w50 h30 gSave_COB_Short_Description, OK
Gui, Show, h80 w280, %program_title% Settings
Gui, +AlwaysOnTop -SysMenu +Owner
Gui, +LastFound ; set the Last Found Window
WinWaitActive ; "wait" until Gui5 is active
WinWaitClose
Return
Save_COB_Short_Description:
GuiControlGet, COB_Short_Description
Sleep, 500
Clipboard = 1
ClipWait,
Gui, Destroy
Return
Attach_Email_To_Ticket:
Gui 5:Default
Gui, Add, Text, x10 y10 w200 h30, Please Type the number for the File Attachment (1-5)
Gui, Add, DropDownList, x10 y40 w65 h45 r5 vattachment_file, 1|2|3|4|5
Gui, Add, Button, x220 y40 w50 h30, OK
Gui, Show, h80 w280, %program_title% Attachment File #:
Gui, +AlwaysOnTop -SysMenu +Owner
Gui, +LastFound ; set the Last Found Window
WinWaitActive ; "wait" until Gui5 is active
WinWaitClose ; wait until Gui5 is closed (destroyed)
Return
5ButtonOK:
GuiControlGet, attachment_file
Sleep, 500
Clipboard = 1
ClipWait,
Gui, Destroy
Return
Clear_ClipBoard:
ClipBoard = ""
Return
3ST_Settings:
GoSub, 3ST_Settings_Gui
GuiControl,, vDDEmail_From, |%Email_Name%||ServiceDesk Ticket-Updates
Return
3ST_Settings_Gui:
; Parse Emails for display in the Program Settings
ST2_Day1_Email = %T2_Day1_Email%
StringReplace, ST2_Day1_Email, ST2_Day1_Email, <n>, `n, All
StringReplace, ST2_Day1_Email, ST2_Day1_Email, <r>, `r, All
ST2_Day2_Email = %T2_Day2_Email%
StringReplace, ST2_Day2_Email, ST2_Day2_Email, <n>, `n, All
StringReplace, ST2_Day2_Email, ST2_Day2_Email, <r>, `r, All
ST2_Email_Signature = %T2_Email_Signature%
StringReplace, ST2_Email_Signature, ST2_Email_Signature, <n>, `n, All
StringReplace, ST2_Email_Signature, ST2_Email_Signature, <r>, `r, All
Gui 2:Default
Gui, Add, Button, x510 y340 w100 h30 gGui2Cancel , Cancel
Gui, Add, Button, x406 y340 w100 h30 gGui2OK, OK
Gui, Add, Button, x302 y340 w100 h30 gGui2Apply, Apply
Gui, Add, Tab, x-4 y0 w620 h340 , Preferences|Hotkeys|T2 Day 1|T2 Day 2|T2 Email Signature
Gui, Tab, Preference
Gui, Add, CheckBox, x6 y30 w100 h20 vSalwaysOnTop Checked%alwaysOnTop%, Always On Top
Gui, Add, GroupBox, x6 y90 w600 h240 , Personal Information
Gui, Add, Text, x16 y110 w80 h20 , Remedy Name
Gui, Add, Edit, x96 y110 w140 h20 vSRemedy_Name, %Remedy_Name%
Gui, Add, Text, x16 y140 w80 h20 , Email Name
Gui, Add, Edit, x96 y140 w140 h20 vSEmail_Name, %Email_Name%
Gui, Add, Text, x16 y170 w80 h20 , Initials
Gui, Add, Edit, x96 y170 w140 h20 vSAgent_Initials, %Agent_Initials%
Gui, Add, Text, x16 y200 w80 h20 , First Name
Gui, Add, Edit, x96 y200 w140 h20 vSagent_first_name, %agent_first_name%
Gui, Add, Text, x16 y230 w80 h20 , Tier II Queue
Gui, Add, DropDownList, x96 y230 w140 h20 r6 vST2_queue, %T2_queue%||Service Desk|Service Desk (DW-CRM-RM)|Service Desk (Email)|Service Desk (Follow-Up)|Service Desk (RmAcc/WIFI)|Service Desk (T&E/Procur)
Gui, Add, Text, x16 y260 w80 h20 , QC-Signature
Gui, Add, Edit, x96 y260 w140 h20 vSqc_signature, %qc_signature%
Gui, Add, Text, x256 y140 w100 h20 , Job Position
Gui, Add, Edit, x366 y140 w230 h20 vSAgent_Title , %Agent_Title%
Gui, Add, Text, x256 y170 w100 h20 , Work In Progress
Gui, Add, Edit, x366 y170 w230 h20 vSwip_work_log_entry , %wip_work_log_entry%
Gui, Add, Text, x256 y200 w100 h20 , Saved Email Path
Gui, Add, Edit, x366 y200 w230 h20 vSStored_Email , %Stored_Email%
Gui, Tab, Hotkeys
Gui, Add, Text, x6 y30 w130 h20 , Available
Gui, Add, Hotkey, x186 y30 w120 h20 vSavailable_HK, %available_HK%
Gui, Add, Text, x6 y60 w130 h20 , Available with Ticket Pop
Gui, Add, Hotkey, x186 y60 w120 h20 vSavailable_w_TP_HK, %available_w_TP_HK%
Gui, Add, Text, x6 y90 w130 h20 , Available No ACD
Gui, Add, Hotkey, x186 y90 w120 h20 vSavailable_no_acd_HK,%available_no_acd_HK%
Gui, Add, Text, x6 y120 w130 h20 , Look-up Callers Tickets
Gui, Add, Hotkey, x186 y120 w120 h20 vScallers_tickets_HK, %callers_tickets_HK%
Gui, Add, Text, x6 y150 w130 h20 , Email Caller
Gui, Add, Hotkey, x186 y150 w120 h20 vSemail_caller_HK, %email_caller_HK%
Gui, Add, Text, x6 y180 w130 h20 , Resolve Quick Call
Gui, Add, Hotkey, x186 y180 w120 h20 vSresolve_qc_HK, %resolve_qc_HK%
Gui, Add, Text, x6 y210 w130 h20 , Activate Outlook
Gui, Add, Hotkey, x186 y210 w120 h20 vSactivate_outlook_HK, %activate_outlook_HK%
Gui, Add, Text, x6 y240 w130 h20 , Activate Remedy
Gui, Add, Hotkey, x186 y240 w120 h20 vSactivate_remedy_HK, %activate_remedy_HK%
;Tier 2
Gui, Add, GroupBox, x326 y30 w280 h300 , Tier II Only
Gui, Add, Text, x336 y60 w110 h20 , WIP Ticket
Gui, Add, Hotkey, x466 y60 w130 h20 vSwip_ticket_HK, %wip_ticket_HK%
Gui, Add, Text, x336 y90 w110 h20 , Day 1 Follow-up
Gui, Add, Hotkey, x466 y90 w130 h20 vSt2_day1_HK, %t2_day1_HK%
Gui, Add, Text, x336 y120 w110 h20 , Day 2 Follow-up/COB
Gui, Add, Hotkey, x466 y120 w130 h20 vSt2_day2_HK, %t2_day2_HK%
Gui, Add, Text, x336 y150 w110 h20 , Day 4 Close COB
Gui, Add, Hotkey, x466 y150 w130 h20 vSt2_day4_HK, %t2_day4_HK%
Gui, Add, Text, x336 y180 w110 h20 , Dial Highlighted
Gui, Add, Hotkey, x466 y180 w130 h20 vScall_highlighted_HK, %call_highlighted_HK%
Gui, Add, Text, x336 y210 w110 h20 , Dial Customer Phone
Gui, Add, Hotkey, x466 y210 w130 h20 vScall_phone_HK, %call_phone_HK%
Gui, Add, Text, x336 y240 w110 h20 , Dial Customer Cell
Gui, Add, Hotkey, x466 y240 w130 h20 vScall_cell_HK, %call_cell_HK%
Gui, Tab, T2 Day 1
Gui, Add, Text, x6 y30 w450 h60, The Email variables will be used for placement of the data from the ticket.`nMake sure to include the brackets "[]" and this is case sesitive. (i.e. [tsd] will not work)
Gui, Add, GroupBox, x455 y30 w155 h62, Email Variables
Gui, Add, Text, x460 y45 w145 h40, [T#] - Ticket Number`n[TSD] - Short Description`n[FIX] - Fix Guide
Gui, Add, Text, x6 y80 w200 h20, Day 1 Email Subject
Gui, Add, Edit, x6 y100 w450 h20 vST2_Day1_subject, %T2_Day1_subject%
Gui, Add, Text, x6 y125 w145 h20, Day 1 Email Template.
Gui, Add, Edit, x6 y150 w600 h180 vST2_Day1_Email , %ST2_Day1_Email%
Gui, Tab, T2 Day 2
Gui, Add, Text, x6 y30 w450 h60, The Email variables will be used for placement of the data from the ticket.`nMake sure to include the brackets "[]" and this is case sesitive. (i.e. [tsd] will not work)
Gui, Add, GroupBox, x455 y30 w155 h62, Email Variables
Gui, Add, Text, x460 y45 w145 h40, [T#] - Ticket Number`n[TSD] - Short Description`n[COB] - COB Date
Gui, Add, Text, x6 y80 w200 h20, Day 2 Email Subject
Gui, Add, Edit, x6 y100 w450 h20 vST2_Day2_subject, %T2_Day2_subject%
Gui, Add, Text, x6 y125 w145 h20, Day 2 Email Template.
Gui, Add, Edit, x6 y150 w600 h180 vST2_Day2_Email , %ST2_Day2_Email%
Gui, TAB, T2 Email Signature
Gui, Add, Text, x6 y30 w450 h60, The Signature Variables will be used for placement of the data from the `nPreferences tab into the signature of the emails sent to the customer.`nMake sure to include the brackets "[]" and this is case sesitive. (i.e. [tsd] will not work)
Gui, Add, GroupBox, x455 y30 w155 h62, Signature Variables
Gui, Add, Text, x460 y45 w145 h40, [INI] - Agent Initials`n[AT] - Agent Title`n[S#] - Service Desk #`n[SF#]
Gui, Add, Text, x6 y125 w145 h20, Signature Template.
Gui, Add, Edit, x6 y150 w600 h180 vST2_Email_Signature , %ST2_Email_Signature%
; Generated using SmartGUI Creator 4.0
Gui, Show, x346 y204 h377 w615, %program_title% Settings
Gui, +AlwaysOnTop -SysMenu +Owner
Gui, +LastFound ; set the Last Found Window
WinWaitActive ; "wait" until Gui5 is active
WinWaitClose
Return
Gui2Cancel:
Gui, Destroy
Return
Gui2OK:
IniWrite, 0, %preferencesini%, GUI, Save_Finished
Sleep, 100
GoSub, Gui2Apply
Gui2OKRepeat:
IniRead, Save_Finished, %preferencesini%, GUI, Save_Finished
If (%Save_Finished% = 1)
{
Sleep, 100
GoSub, Gui2OKRepeat
}
Gui, Destroy
Return
Gui2Apply:
GuiControlGet, SalwaysOnTop
alwaysontop = %SalwaysOnTop%
IniWrite, %SalwaysOnTop%, %preferencesini%, Gui, alwaysontop
GuiControlGet, SRemedy_Name
Remedy_Name = %SRemedy_Name%
IniWrite, %Remedy_Name%, %preferencesini%, Agent, remedy_name
GuiControlGet, SEmail_Name
Email_Name = %SEmail_Name%
IniWrite, %Email_Name%, %preferencesini%, Agent, email_name
GuiControlGet, SAgent_Initials
Agent_Initials = %SAgent_Initials%
IniWrite, %Agent_Initials%, %preferencesini%, Agent, initials
GuiControlGet, Sagent_first_name
agent_first_name = %Sagent_first_name%
IniWrite, %agent_first_name%, %preferencesini%, Agent, first_name
GuiControlGet, ST2_queue
T2_queue = %ST2_queue%
IniWrite, %T2_queue%, %preferencesini%, Agent, t2_queue
GuiControlGet, SAgent_Title
Agent_Title = %SAgent_Title%
IniWrite, %Agent_Title%, %preferencesini%, Agent, agent_title
GuiControlGet, Swip_work_log_entry
wip_work_log_entry = %Swip_work_log_entry%
IniWrite, %Swip_work_log_entry%, %preferencesini%, Agent, wip_work_log_entry
GuiControlGet, Sqc_signature
qc_signature = %Sqc_signature%
IniWrite, %qc_signature%, %preferencesini%, Agent, qc_signature
GuiControlGet, SStored_Email
Stored_Email = %SStored_Email%
IniWrite, %SStored_Email%, %preferencesini%, Agent, Stored_Email
GuiControlGet, Savailable_HK
available_HK = %Savailable_HK%
IniWrite, %Savailable_HK%, %preferencesini%, Hotkeys, available
GuiControlGet, Savailable_w_TP_HK
available_w_TP_HK = %Savailable_w_TP_HK%
IniWrite, %Savailable_w_TP_HK%, %preferencesini%, Hotkeys, available_w_TP
GuiControlGet, Savailable_no_acd_HK
available_no_acd_HK = %Savailable_no_acd_HK%
IniWrite, %Savailable_no_acd_HK%, %preferencesini%, Hotkeys, available_no_acd
GuiControlGet, Scallers_tickets_HK
callers_tickets_HK = %Scallers_tickets_HK%
IniWrite, %Scallers_tickets_HK%, %preferencesini%, Hotkeys, callers_tickets
GuiControlGet, Semail_caller_HK
email_caller_HK = %Semail_caller_HK%
IniWrite, %Semail_caller_HK%, %preferencesini%, Hotkeys, email_caller
GuiControlGet, Sresolve_qc_HK
resolve_qc_HK = %Sresolve_qc_HK%
IniWrite, %resolve_qc_HK%, %preferencesini%, Hotkeys, resolve_qc
GuiControlGet, Swip_ticket_HK
wip_ticket_HK = %Swip_ticket_HK%
IniWrite, %wip_ticket_HK%, %preferencesini%, Hotkeys, wip_ticket
GuiControlGet, St2_day1_HK
t2_day1_HK = %St2_day1_HK%
IniWrite, %t2_day1_HK%, %preferencesini%, Hotkeys, t2_day1
GuiControlGet, St2_day2_HK
t2_day2_HK = %St2_day2_HK%
IniWrite, %t2_day2_HK%, %preferencesini%, Hotkeys, t2_day2
GuiControlGet, St2_day4_HK
t2_day4_HK = %St2_day4_HK%
IniWrite, %t2_day4_HK%, %preferencesini%, Hotkeys, t2_day4
GuiControlGet, Sactivate_outlook_HK
activate_outlook_HK = %Sactivate_outlook_HK%
IniWrite, %Sactivate_outlook_HK%, %preferencesini%, Hotkeys, activate_outlook
GuiControlGet, Sactivate_remedy_HK
activate_remedy_HK = %Sactivate_remedy_HK%
IniWrite, %Sactivate_remedy_HK%, %preferencesini%, Hotkeys, activate_remedy
GuiControlGet, Scall_highlighted_HK
call_highlighted_HK = %Scall_highlighted_HK%
IniWrite, %call_highlighted_HK%, %preferencesini%, Hotkeys, call_highlighted
GuiControlGet, Scall_phone_HK
call_phone_HK = %Scall_phone_HK%
IniWrite, %call_phone_HK%, %preferencesini%, Hotkeys, call_phone
GuiControlGet, Scall_cell_HK
call_cell_HK = %Scall_cell_HK%
IniWrite, %call_cell_HK%, %preferencesini%, Hotkeys, call_cell
GuiControlGet, ST2_Day1_subject
T2_Day1_subject = %ST2_Day1_subject%
IniWrite, %T2_Day1_subject%, %preferencesini%, TierIIEmails, T2_Day1_subject
GuiControlGet, ST2_Day1_Email
StringReplace, ST2_Day1_Email, ST2_Day1_Email, `n, <n>, All
StringReplace, ST2_Day1_Email, ST2_Day1_Email, `r, <r>, All
T2_Day1_Email = %ST2_Day1_Email%
IniWrite, %T2_Day1_Email%, %preferencesini%, TierIIEmails, T2_Day1_Email
GuiControlGet, ST2_Day2_subject
T2_Day2_subject = %ST2_Day2_subject%
IniWrite, %T2_Day2_subject%, %preferencesini%, TierIIEmails, T2_Day2_subject
GuiControlGet, ST2_Day2_Email
StringReplace, ST2_Day2_Email, ST2_Day2_Email, `n, <n>, All
StringReplace, ST2_Day2_Email, ST2_Day2_Email, `r, <r>, All
T2_Day2_Email = %ST2_Day2_Email%
IniWrite, %T2_Day2_Email%, %preferencesini%, TierIIEmails, T2_Day2_Email
GuiControlGet, ST2_Email_Signature
StringReplace, ST2_Email_Signature, ST2_Email_Signature, `n, <n>, All
StringReplace, ST2_Email_Signature, ST2_Email_Signature, `r, <r>, All
T2_Email_Signature = %ST2_Email_Signature%
IniWrite, %T2_Email_Signature%, %preferencesini%, TierIIEmails, T2_Email_Signature
;Save_Finished is to help ensure that the Gui does not get destroyed until the Program has finished saving the settings.
IniWrite, 1, %preferencesini%, GUI, Save_Finished
;HotKey Global Listeners
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %available_HK%, Available_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %available_w_TP_HK%, AvailablewTP_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %available_no_acd_HK%, available_no_acd_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %callers_tickets_HK%, callers_tickets_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %email_caller_HK%, Email_Customer
Hotkey, IfWinActive, BMC Remedy User - [CITS Service Management
Hotkey, %resolve_qc_HK%, AssignToAgent_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %wip_ticket_HK%, wip_ticket_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %t2_day1_HK%, t2_day1_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %t2_day2_HK%, t2_day2_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %t2_day4_HK%, t2_day4_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %activate_remedy_HK%, activate_remedy
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %activate_outlook_HK%, activate_outlook
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %call_highlighted_HK%, call_highlighted_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %call_phone_HK%, call_phone_HK
Hotkey, IfWinNotActive, %program_title% Settings
Hotkey, %call_cell_HK%, call_cell_HK
Gui 1: +AlwaysOnTop
If %alwaysOnTop% = 0
{
Gui 1: -AlwaysOnTop
}
Return
; Functions
;Ticket Tab Function
TabTo(going_to, comeing_from)
{
if (going_to > comeing_from){
tabnum := going_to - comeing_from
Send, {TAB %tabnum%}
}
else{
tabnum := comeing_from - going_to
Send, +{TAB %tabnum%}
}
}
; Change Interaction Client Mode
ChangeMode(changeto)
{
Send #c
WinWait, Interaction Client: .NET Edition,
IfWinNotActive, Interaction Client: .NET Edition, , WinActivate, Interaction Client: .NET Edition,
WinWaitActive, Interaction Client: .NET Edition,
Send !s {TAB}{ENTER}
WinWait, ahk_class WindowsForms10.Window.8.app.0.33c0d9d,
IfWinNotActive, ahk_class WindowsForms10.Window.8.app.0.33c0d9d, , WinActivate, ahk_class WindowsForms10.Window.8.app.0.33c0d9d,
WinWaitActive, ahk_class WindowsForms10.Window.8.app.0.33c0d9d,
Send,{TAB %status_drop_down%}{HOME}{DOWN %changeto%}{TAB 2}{ENTER}
}
;Dial Number
Dial()
{
Sleep, 450
Send, #c
Sleep, 100
Send, !n
Sleep, 100
Send, ^v
Sleep, 450
Send, {ENTER}
}
If you need me to explain anything just let me know... You should know that I don't consider myself a programmer, I tend to just patch things together, so I fully anticipate red marks all over my work
Thanks,
Sam