Code: Select all
;QuickLook
#NoEnv
#NoTrayIcon
#Persistent
#SingleInstance force
xyPath := "D:\XYplorer"
xyExe := "XYplorer.exe"
xyID := "ahk_class ThunderRT6FormDC ahk_exe " xyExe
right::
xyHWnd := WinExist(xyID)
if (xyHWnd) {
Send_WM_COPYDATA(xyHWnd, "::sel '+1'; run lax(""D:\Program Files\QuickLook-3.7.1\QuickLook.exe"" ""<curitem>"");")
} else {
Run, "%xyPath%\%xyExe%"
}
return
left::
xyHWnd := WinExist(xyID)
if (xyHWnd) {
Send_WM_COPYDATA(xyHWnd, "::sel '-1'; run lax(""D:\Program Files\QuickLook-3.7.1\QuickLook.exe"" ""<curitem>"");")
} else {
Run, "%xyPath%\%xyExe%"
}
return
down::
xyHWnd := WinExist(xyID)
if (xyHWnd) {
WinActivate, % "ahk_id " xyHWnd
Send {down}
Send_WM_COPYDATA(xyHWnd, "::run lax(""D:\Program Files\QuickLook-3.7.1\QuickLook.exe"" ""<curitem>"");")
} else {
Run, "%xyPath%\%xyExe%"
}
return
up::
xyHWnd := WinExist(xyID)
if (xyHWnd) {
WinActivate, % "ahk_id " xyHWnd
Send {up}
Send_WM_COPYDATA(xyHWnd, "::run lax(""D:\Program Files\QuickLook-3.7.1\QuickLook.exe"" ""<curitem>"");")
} else {
Run, "%xyPath%\%xyExe%"
}
return
Send_WM_COPYDATA(xyHWnd, message) {
size := StrLen(message)
if !(A_IsUnicode) {
VarSetCapacity(data, size * 2, 0)
StrPut(message, &data, size, "UTF-16")
} else {
data := message
}
VarSetCapacity(COPYDATA, A_PtrSize * 3, 0)
NumPut(4194305, COPYDATA, 0, "Ptr")
NumPut(size * 2, COPYDATA, A_PtrSize, "UInt")
NumPut(&data, COPYDATA, A_PtrSize * 2, "Ptr")
result := DllCall("User32.dll\SendMessageW", "Ptr", xyHWnd, "UInt", 74, "Ptr", 0, "Ptr", ©DATA, "Ptr")
return
}
Code: Select all
;MPC
#NoEnv
#NoTrayIcon
#Persistent
#SingleInstance force
xyPath := "D:\XYplorer"
xyExe := "XYplorer.exe"
xyID := "ahk_class ThunderRT6FormDC ahk_exe " xyExe
right::
xyHWnd := WinExist(xyID)
if (xyHWnd) {
Send_WM_COPYDATA(xyHWnd, "::sel '+1'; run lax(""D:\Program Files\K-Lite Codec Pack\MPC-HC64\mpc-hc64.exe"" ""<curitem>"");")
} else {
Run, "%xyPath%\%xyExe%"
}
return
left::
xyHWnd := WinExist(xyID)
if (xyHWnd) {
Send_WM_COPYDATA(xyHWnd, "::sel '-1'; run lax(""D:\Program Files\K-Lite Codec Pack\MPC-HC64\mpc-hc64.exe"" ""<curitem>"");")
} else {
Run, "%xyPath%\%xyExe%"
}
return
down::
xyHWnd := WinExist(xyID)
if (xyHWnd) {
WinActivate, % "ahk_id " xyHWnd
Send {down}
Send_WM_COPYDATA(xyHWnd, "::run lax(""D:\Program Files\K-Lite Codec Pack\MPC-HC64\mpc-hc64.exe"" ""<curitem>"");")
} else {
Run, "%xyPath%\%xyExe%"
}
return
up::
xyHWnd := WinExist(xyID)
if (xyHWnd) {
WinActivate, % "ahk_id " xyHWnd
Send {up}
Send_WM_COPYDATA(xyHWnd, "::run lax(""D:\Program Files\K-Lite Codec Pack\MPC-HC64\mpc-hc64.exe"" ""<curitem>"");")
} else {
Run, "%xyPath%\%xyExe%"
}
return
Send_WM_COPYDATA(xyHWnd, message) {
size := StrLen(message)
if !(A_IsUnicode) {
VarSetCapacity(data, size * 2, 0)
StrPut(message, &data, size, "UTF-16")
} else {
data := message
}
VarSetCapacity(COPYDATA, A_PtrSize * 3, 0)
NumPut(4194305, COPYDATA, 0, "Ptr")
NumPut(size * 2, COPYDATA, A_PtrSize, "UInt")
NumPut(&data, COPYDATA, A_PtrSize * 2, "Ptr")
result := DllCall("User32.dll\SendMessageW", "Ptr", xyHWnd, "UInt", 74, "Ptr", 0, "Ptr", ©DATA, "Ptr")
return
}