programming language/Autohotkey
Autohotkey 에서 COM 을 사용하여 현재 열린 탐색기의 폴더 찾기
__observer__
2017. 2. 24. 18:30
반응형
탐색기의 주소를 알고 싶은 경우 탐색기에서 ALT + D 를 누른 후에 주소 값을 복사 하면 됩니다.
Autohotkey 로 탐색기의 주소를 알고 싶은 경우에도 위의 내용을 코딩해 주면 되겠죠.
해당 내용은 아래와 같을 겁니다.
send, !d
sleep, 1000
send ^c
그런데 클립보드를 사용하다 보면 이상하게 주소가 저장이 안 될 때가 있습니다.
그래서 COM 을 사용해 보기로 했습니다.
Autohotkey 에서 COM 을 사용하여 현재 열린 탐색기의 폴더 주소를 아는 방법은 아래와 같습니다.
#NoEnv
#SingleInstance force
#a::
; Shortcut : WIN + A
hwnd := WinExist("A")
WinGetClass class, ahk_id %hwnd%
if (class="CabinetWClass" or class="ExploreWClass")
{
for window, in ComObjCreate("Shell.Application").Windows
{
try
{
if (window.hwnd==hwnd)
{
sel := window.LocationURL
sel := RegExReplace(sel,"file:///","")
foldername := RegExReplace(sel,"/","\")
foldername := RegExReplace(foldername,"%20"," ")
Clipboard:=foldername
MsgBox,,, % foldername,1
break
}
}
}
}
return
위 코드를 실행 시킨 후에 탐색기를 연 상태에서 WIN + A 를 누르면 아래와 같이 msgbox 가 1 초간 열렸다가 꺼지고 클립보드에 폴더의 주소가 저장 됩니다.
반응형