소프트웨어 토탈커맨더 도구바 버튼 매개변수 없이 실행 AHK
2021.09.19 02:35
추가3) 아래 추가2에서 notepad2를 사용해도 됩니다. 단 목록 임시파일이 지워지면 경고표시 나타나는 것 싫어서 메모장으로 했습니다.
- 팁으로 툴바에 notepad2 등록할때 적절한 매개변수를 사용하면 여러 파일을 동시에 열 수 있습니다.
- 도구바에 등록 후 매개변수에 + "%P%S" 입력
추가2) 아래 "위라이즈"님 아이디어 추가버전에 대한 예제입니다. Run_w_modifier2.ahk Run_w_modifier2.exe
명령어 예; d:\AutoHotkey\AutoHotkeyU64.exe %COMMANDER_PATH%\Tools\Run_w_modifier2.ahk c:\Windows\System32\notepad.exe
또는 %COMMANDER_PATH%\Tools\Run_w_modifier2.exe c:\Windows\System32\notepad.exe
매개변수; %P%N %L "%P%S"
시작위치; <비워두면 현재 활성화된 파일목록패널의 경로를 사용합니다.>
아이콘파일; c:\Windows\System32\notepad.exe
툴팁; click - open the 1st file|with shift or rbutton - run without param|with ctrl - open selected files|with alt - open the list with long names
툴팁은 파이프라인 "|"으로 여러줄로 나타낼 수 있습니다.
- 마우스 왼쪽 버튼 클릭은 선택한 파일을 열고
- Shift 키를 누른 상태에서 클릭하거나 마우스 우측 버튼을 누른상태에서 클릭하면 매개변수 없이 실행되고
- Ctrl 키를 누른 상태에서 클릭하면 선택된 여러개 파일이 열립니다.
- Alt 키를 누른 상태에서 클릭하면 선택한 파일/폴더들의 전체경로를 포함한 리스트를 생성하여 엽니다.
수정1) Run_wo_param.ahk Run_wo_param.exe
- 토탈커맨더 도구바의 ClassNN이 실행시 마다 조금씩 바뀌는 것 같습니다.
- 도구바에 한정해서 이벤트를 주려고 했는데, 혼동을 피하기 위해서 Window 라는 이름으로 시작하면 실행되게 수정하였습니다.
추가) Run_w_modifier.ahk Run_w_modifier.exe
- 댓글의 "위라이즈"님의 참신한 방법을 추가 합니다. "위라이즈"님 감사합니다.^^
- .ahk를 도구바에 등록시에는 명령어에 자신의 OS에 맞는 비트를 선택하여
명령어에 <오토핫키경로>\AutoHotkeyU64.exe <스크립트경로>\Run_w_modifier.ahk <실행할 명령어> 입력
예시) "d:\AutoHotkey\AutoHotkeyU64.exe" "d:\AHK\Run_w_modifier.ahk" %SystemRoot%\System32\notepad.exe
매개변수 예시) %L
- .exe를 도구바에 등록시에는 Run_w_modifier.exe을 도구바에 끌어다 두고, <실행할 명령어>를 뒤에 추가합니다.
예시) "d:\AHK\Run_w_modifier.exe" %SystemRoot%\System32\notepad.exe
- 실행은 그냥 클릭하면 매개변수 %L과 함께 메모장이 실행되고, shift+click하면 %L은 무시되어 실행됩니다.
명령어에 환경변수는 문제 없는데 매개변수에 %SystemRoot%\System32\notepad.exe %L 형태로 입력하면 환경변수에 오류가 생기네요
두 방법이 장단점이 있어서 이미 등록된 버튼에는 위쪽 방법이, 새로 등록할때는 아래쪽 방법이 유리할 수 있겠습니다.
안녕하세요? 토탈커맨더 사용자를 위한 오토핫키 이용 팁입니다.
퇴근후 오후에 한숨 잤더니 잠이 안와서 꼼지락 거려 봅니다.^^
토탈커맨더에서 실행프로그램을 도구바에 매개변수와 함께 등록하여 사용할 수 있는데요.
매개변수 없이 실행하고 싶을때에는 별도의 버튼을 추가로 등록해야하는 문제가 있습니다.
그래서 오래전부터 shift+click 등으로 매개변수 없이 실행할 수 있는 옵션을 추가해주었으면 했는데...
목 마른 사람이 우물 판다고, 간단히 사용하던 것을 조금 정리해서 올려봅니다.^^
실행 명령어 경로중에 환경변수가 있으면 한개까지는 해석하여 실행하도록 하였습니다. %COMMANDER_PATH% 등...
-혹시 두개 이상의 환경변수에 대한 대응이 필요할까요?...
첨부 스크립트 실행후 도구바의 버튼을 마우스 미들(중간 휠) 클릭하면 매개변수 없이 실행합니다.
- 오토핫키 설치하지 않은 분을 위해서 실행파일도 올립니다. 바이러스 오진이 있을 수 있습니다.
이해를 위해 아래 스크린샷 참고해보시기 바랍니다.
TC 9.51과 10 버전에서 테스트 되었습니다.
- 버전에 따라 도구바의 ClassNN이 다르네요. 스크립트에서 Window7(9.51에 해당), Window3(10에 해당)
- 다른 버전에 사용시 작동 안되시면 수정하시라고 명시하였습니다.
- 혼동을 피하기 위해 그냥 이름 앞쪽 Window 부분만 매치되게 수정하였습니다.
버튼을 우클릭하여 나타나는 대화상자에서 실행파일의 경로를 가져오는 방식이라서 화면이 잠깐 번쩍합니다.
- 그래서 툴팁에 경로를 명시해두고 ControlGetText, OutputVar,,ahk_class tooltips_class32 을 이용해보고 싶었는데 안되어서,
- TC툴팁 클래스를 확인하여 ControlGetText, OutputVar,,ahk_class HintWindow 이렇게도 해보았지만 역시 가져오지 못하네요ㅠㅠ.
- 혹시 방법을 아시는 분 계시면 정보 부탁드립니다. 매개변수 무시하고 실행할 수 있는 더 좋은 방법도 소개 부탁드립니다.^^
추석 명절 건강하게 보내시길 바랍니다. 식탐, 주탐 조금 줄이시고... ㅎ~
댓글 [23]
-
cungice 2021.09.19 08:01
-
다시링 2021.09.19 10:35
매개변수 제일 앞에 ? 를 붙여주어 디폴트값을 정하는 방법도 있습니다. 참고하세요.
토커 버튼의 매개변수 앞에 ? 를 붙여주면 버튼으로 프로그램 실행시 메시지창에 ? 뒤의 매개변수 값이 나옵니다.
그 때 del 키 다음에 enter 를 입력하면 매개변수 없이 실행가능합니다.
예를 들어 버튼의 명령어는 %windir%\system32\notepad.exe 이고 매개변수를 ?%P%N 으로 해주면
버튼 클릭시 경로명이 나오는 메시지창이 나옵니다. 엔터키를 누르면 매개변수 값으로 실행되고 del 키 입력후 엔터키를 입력하면
매개변수 없이 실행됩니다.
-
지후빠 2021.09.19 10:51
넵 알고 있습니다.^^ 수 없이 반복해서 사용하는지라 그 조차도 불편해서요.
-
훈이 2021.09.19 11:20
두분 다 좋은 정보 감사합니다.
-
위라이즈 2021.09.19 13:11
Buttonbar Extended
https://www.ghisler.ch/board/viewtopic.php?t=20274
Features:
- Create buttons that run macros (of TC commands and/or program calls)
- Buttons can run different commands if you hold down modifier keys like Ctrl, Alt and Shift. Its also possibly to use mouse buttons as modifiers.
- Integration into TCs buttonbar.
이 프로그램이 아마 원하시는 형태 중의 하나가 아닐까 싶습니다.
가서 다운로드 링크 가보시면 올해 4월달에 업데이트 된 것 같은데, 버전10에는 대응안될지도 모르겠네요.
그래도 소스(오토핫키 소스입니다)도 포함되어 있으니 참고하실 수 있을 것 같아요.
아, 저는 세팅하기 귀찮아서 아직 안써봤습니다ㅎㅎ
-
지후빠 2021.09.19 13:40
넵 스샷에 좌측 패널에 자세히 보시면 ButtonBar eXtended 2.4 가 보일 것 입니다. 이미 테스트 해봤는데 오류가 있는 것 같습니다.
이전 2.3 부터 해봤는데 성공하지 못했고, DEFAULT.BAR 를 건드는 것 같아서 선호되지 않아 깊게 들여다 보지 않았습니다.
이번 기회에 소스코드를 살펴봐야겠습니다. 감사합니다.^^
-
위라이즈 2021.09.19 15:29
아, 죄송합니다. 제가 왼쪽 패널 부분은 미처 못봤네요.
제가 링크한 글이 잘 안되다고 하셔서, 오토핫키을 잘 모르는데, 최대한 단순하게 구현해 봤어요.
이미 생각해보신 방법일수도 있겠지만, 참고만 하시라고 올려봅니다.
아래는 test.ahk로 저장하시고, 컴파일해줍니다.
#SingleInstance force
#IfWinActive, ahk_class TTOTAL_CMD
if GetKeyState("Ctrl")
Run, %1%
else
Run, %1% %2%
#IfWinActive
아래는 monitoring.ahk로 저장하시고, 컴파일해줍니다.
#SingleInstance force
#IfWinActive, ahk_class TTOTAL_CMD
MButton::
Send, {Ctrl down}
MouseClick, left
Sleep, 1000
Send, {Ctrl up}
Return
#IfWinActive
버튼바에서 버튼 하나 만드시고, 명령어는(위 파일을 컴파일한 폴더)\test.exe notepad.exe매개변수는 %P%N그리고 monitoring.exe는 따로 한 번 실행해줍니다.이 상태에서, 토커에서 해당 버튼을 그냥 누르면, 메모장에서 커서에 위치한 문서가 열리구요.컨트롤키+마우스 클릭 하면 메모장만 열릴거고,마우스 휠 클릭만 누르면 역시 메모장만 열립니다.아, 괜히 주름잡는거 아닌가 모르겠네요ㅎ -
지후빠 2021.09.19 17:04
좋은 방법인 것 같습니다. 저녁에 해보고 답글 달겠습니다.^^
저의 목표는 shift+click 였기에 첫번째만 있어도 충분할 것 같습니다. 좋은 방법을 배운것 같습니다. 감사합니다. -꾸벅-
다만 해당하는 버튼들을 따로 모아서 배치하든지 툴팁에 간단히 메모해서 표시가 나도록 해야겠습니다.
필요한 경우에 crtl shift alt 등의 modifier를 추가하여 하나의 버튼에 여러가지 기능을 줄수 있는 멋진 참신한 아이디어입니다.
모든 버튼에 일괄 적용은 번거로울 것 같고 필요한 버튼들에는 추가 기능을 부여할 수 있을 것 같습니다.^^
-
지후빠 2021.09.20 00:33
다음처럼 조금 수정하여 본문에 게시하였습니다.
도구바에 한정하여 이벤트를 발생하려 하는데 컨트롤의 클래스 이름이 조금씩 바뀌어서 좀 더 테스트해봐야겠습니다.^^
#SingleInstance force
#IfWinActive, ahk_class TTOTAL_CMD
MouseGetPos, , , , ControlName
If SubStr(ControlName,1,6)="Window" {
If GetKeyState("Shift")
Run, %1%,,,pid
Else
Run, %1% %2%,,,pid
Sleep, 100
WinActivate, ahk_pid %pid%
}
#IfWinActive
-
왕초보 2021.09.19 17:36
수고 많으셨습니다...
-
줄리아니 2021.09.20 09:08
오 좋은 아이디어 입니다
-
슈머슈마 2021.09.20 14:45
수고하셨습니다. -
슈머슈마 2021.09.21 06:20
근데 이거 너무 편리한 기능이네요 -
지후빠 2021.09.21 12:31
쓸모가 있는 것 같다니 고맙습니다.^^
오랫동안 있었으면 하는 기능이어서 조금 매끄럽지 않지만 구현해서 쓰던 것을 좀더 정리해봤습니다.
맨 처음에는 이렇게 사용했습니다.
#SingleInstance force
+lbutton::
click right
send, c
sleep, 100
send, ^c
send, {esc}
sleep, 100
Run, %clipboard%
return
그다음에는 이렇게 쓰다가
#SingleInstance force
+lbutton::
click right
send, c
sleep 100
ControlGetText, exepath , Edit5, ahk_class TONEBUTTONCHANGEDLG
WinClose, ahk_class TONEBUTTONCHANGEDLG
sleep 300
Run, %exepath%
return
이번에 좀 더 정리한 것입니다. ^^
-
지후빠 2021.09.20 14:55
댓글과 추천해주신 분 모두에게 감사 인사드립니다. -꾸벅-
이참에 제작자에게 메일을 보내서 기능 추가에 대해 여쭤봤는데 아래와 같은 답장이 왔네요.^^ 답장이 매우 빠르다는...
Hi!
Thanks for your suggestion, I will consider it as an option.
Best regards
Christian Ghisler
-
위라이즈 2021.09.20 18:43
기슬러 아저씨가, 포럼 글 보면 말투가 좀 딱딱하긴 해도 친절하더라구요ㅎㅎ
뭐 다음 버전에 즉각 반영할지는 모르겠지만, 그래도 긍정적인 답변이 온 걸 보면, 한 번쯤 고려는 해보겠지요.
제 글이 조금이라도 도움되었다니, 다행이네요,
고생하셨습니다.
-
지후빠 2021.09.21 11:53
감사합니다. 한 수 배웠습니다^^ 항상 아는 범위에서만 사용을해서…
매개변수로 처리하는 것은 생각해보지 못했습니다.
좋은 아이디어 자주 볼 수 있으면 좋겠습니다.^^ -
sis 2021.09.20 20:23
고생하셨습니다.
행복한 추석 연휴 보내세요.
-
지후빠 2021.09.21 11:54
넵 감사합니다 sis님도 추석연휴 잘 보내십시오 ㅎ~ -
슈머슈마 2021.09.20 22:05
수고하셨습니다 명절 질 보내세요 -
지후빠 2021.09.21 11:56
슈마님도 남은 연휴 잘 보내십시오 ~_~ -
슈머슈마 2021.09.21 16:29
이렇게 복잡하게 실행했는데
[선택 실행]은 변수입력 실행
일반 아이콘은 그냥 실행
이런식으로 버튼바에 메뉴를 추가하여 사용했는데
덕분에 편하게 사용할수있겠네요.
-
지후빠 2021.09.22 11:03
하위 도구모음을 잘 이용하시는 것 같습니다. ^^
수고 많으셨습니다. 감사합니다.