반응형
- 단축키 지정해서 원하는 프로그램 실행 가능
- 프로그램 실행 후 아이콘 트레이에서 Show/Hide 선택하여 키 등록
- key 창에서 원하는 단축키를 누르고 실행할 프로그램 이름 혹은 Brows 버튼을 통해 프로그램 지정
- 제작자: YoucefHam
- zip 비밀번호:1234, zip 압축 해제 이후 reg.bat을 관리자 권한으로 실행
소스코드 변경 사항
1
관리자 권한 실행 제거시작 프로그램 등록 후 컴퓨터 재부팅 시 매번 UAC 창이 발생하므로
이를 제거하고 권한이 필요하지 않은 폴더(C:\Tools)에 이동하도록 조치함
2
GUI 창 제거프로그램 실행 시 GUI 창이 팝업되는데 시작 프로그램에 등록하면 부팅할 때마다
GUI 창이 보여지므로 해당 소스코드를 제거하고 아이콘 트레이에서 show hide로만 GUI 창을
볼 수 있도록 조치함
3
타임스탬프 기록대괄호 꺽쇠("]")를 두 번 입력하면 현재 시간이 기록됨.
메모장에서 F5 버튼을 누른 것과 동일한 기능임
.ahk
;if Not A_IsAdmin AND A_OSVersion <> WIN_XP
;{
; Run *RunAs "%A_ScriptFullPath%"
; ExitApp
;}
#NoEnv [
#MaxHotkeysPerInterval 99000000
#HotkeyInterval 99000000
#KeyHistory 0
#SingleInstance Force
SetWorkingDir %A_ScriptDir%
ListLines Off
Process, Priority, , A
SetBatchLines, -1
SetKeyDelay, -1, -1
SetMouseDelay, -1
SetDefaultMouseSpeed, 0
SetWinDelay, -1
SetControlDelay, -1
SendMode Input
IfNotExist, Saved File.INI
MiniW("","")
else
{
IniRead, var, % "Saved File.INI"
IfNotInString, Var, KeyList
MiniW("","")
}
Menu, Tray, NoStandard
Menu, Tray, Add, Show/Hide, Show_Hide
Menu, Tray, Default, Show/Hide
Menu, Tray, Click, 1
Menu, Tray, Add
Menu, Tray, Add, Reload, Reload
Menu, Tray, Add
Menu, Tray, Add, Exit, Exit_Func
Gui, Font, s8 bold
Gui, Add, Text, x10 y10 cBlue, % "Key :"
Gui, Add, Hotkey, x+5 y5 w425 vKey
Gui, Add, Button, x10 y+10 w460 gSetFileDir, Brows
Gui, Add, Text, x10 y+10 cBlue, % "File : "
Gui, Add, Edit, x+2 y+-18 w425 r1 vFile
Gui, Add, Button, x10 w460 gSave, SAVE
Gui, Add, Button, x10 y+5 w460 gDeleteRow, DELETE
Gui, Font, s10 bold underline
Gui, Add, Text, % "x10 y+10 cBlue", Saved Files :
Gui, Font, s8 norm
Gui, Font, norm bold
Gui, Add, ListView, x10 y+5 r20 w460 -LV0x10 -Multi vSavedFileList gSelectKey AltSubmit, File|HotKey
LV_ModifyCol(1, "330 Text") ; For sorting purposes, indicate that column 2 is an integer.
LV_ModifyCol(2, "125 Text") ; For sorting purposes, indicate that column 2 is an integer.
MiniGet()
Title := "HotKey Launcher - By YoucefHam"
Gui, show,, % Title
Gui, Submit, Hide
Gui, +LastFound -Theme -MinimizeBox
return
SelectKey:
Gui, Submit, NoHide
if (LV_GetCount("Selected") = 0)
LastItemSelected := ""
else if (A_GuiEvent = "Normal") and !(A_EventInfo = 0) and (LV_GetCount("Selected") = 1)
LastItemSelected := A_EventInfo
;~ else if (A_GuiEvent = "DoubleClick") and !(A_EventInfo = 0) and (LV_GetCount("Selected") = 1)
;~ goto, DeleteRow
return
SetFileDir:
FileSelectFile, SelectedFile, 3, , Open a file, All Files (*.*)
if SelectedFile
GuiControl,, File, % SelectedFile
return
SAVE:
Gui, Submit, NoHide
if (Key = "") or (File = "")
return
if !(MiniR(,Key) = "Error") or !(MiniR(,(RegExMatch(Key,"[\^\!\+]") ? RegExReplace(Key,"([\^\!\+]+)(.*?)$","$1~$2") : "*~" Key)) = "Error") or !(MiniR(,"*~" Key) = "Error") or !(MiniR(,"*$" Key) = "Error")
{
MsgBox, 4144, , HotKey Exist, 1.5
return
}
MsgBox, 4148, Block Key Input, You want to Block Key Input (*$)
IfMsgBox, Yes
Key := (RegExMatch(Key,"[\^\!\+]") ? Key : "*$" Key)
else
Key := (RegExMatch(Key,"[\^\!\+]") ? RegExReplace(Key,"([\^\!\+]+)(.*?)$","$1~$2") : "*~" Key)
LV_Add("","""" File """",Key)
MiniW("""" File """",Key)
Hotkey, % key, on, UseErrorLevel
Hotkey, % key, _Hotkey
return
_Hotkey:
Run, % MiniR(,A_ThisHotkey)
return
DeleteRow:
Gui, Submit, NoHide
if (!LastItemSelected) and (LV_GetCount("Selected") = 0)
return
MsgBox, 4148, Delete Key, Are you sure to Delete!!!
IfMsgBox, Yes
{
LV_GetText(Key,LastItemSelected,2)
Hotkey, % key, Off
LV_Delete(LastItemSelected)
MiniD(Key)
}
return
GuiClose:
Gui, Submit, hide
return
Show_Hide:
IfWinNotExist, % Title
WinShow, % Title
else
WinHide, % Title
return
Reload:
Reload
return
Exit_Func:
return
MiniGet() {
global
IfExist, Saved File.INI
Loop, Parse, % MiniR("Saved File"), `n
{
IfInString, A_LoopField, [
continue
else IfInString, A_LoopField, =
Loop, Parse, % A_LoopField, =
{
if A_Index = 1
Key := A_LoopField
if A_Index = 2
File := A_LoopField
Hotkey, % key, _Hotkey
}
LV_Add("", File, Key)
}
return
}
MiniW(value,Key) {
global
IniWrite, %value%, % "Saved File.INI", % "KeyList", %Key%
return
}
MiniR(var = "var",Key="") {
global
IniRead, var, % "Saved File.INI", % "KeyList", %Key%, % ""
return % ((var == "Error") ? "Error" : var)
}
MiniD(Key) {
global
IniDelete, % "Saved File.INI", % "KeyList", %Key%
return
}
SetKeyDelay, -1
; time hotkey
:*:]]::
FormatTime, currDateTime, yyyy-MM-dd HH:mm
Send, % currDateTime
return
.INI
[KeyList]
*$F1="cmd"
*$F3="ncpa.cpl"
반응형
'업무 자동화' 카테고리의 다른 글
Imagemagick 이미지 작업 스크립트 (0) | 2021.07.20 |
---|---|
솔루션 제조사별 기본 비밀번호 (0) | 2021.06.09 |
한글 스크립트 매크로 및 유용한 단축키 모음 (0) | 2021.05.28 |
cmd 라우팅 테이블 배치파일 (0) | 2021.05.28 |
cmd IP 변경 배치파일 (0) | 2021.05.28 |