Autohotkey 使用自动热键删除Media Player Classic中的播放文件
我正在尝试在MPC上创建一个快速删除按钮,我在Autohotkey中添加了一个代码,可以正常工作,但在删除第一个文件后,它似乎会中断Autohotkey 使用自动热键删除Media Player Classic中的播放文件,autohotkey,Autohotkey,我正在尝试在MPC上创建一个快速删除按钮,我在Autohotkey中添加了一个代码,可以正常工作,但在删除第一个文件后,它似乎会中断 #NoTrayIcon #Persistent #HotkeyInterval,100 #NoEnv SetKeyDelay, –1 SetTitleMatchMode, 2 ; Makes matching the titles easier SendMode Input SetWorkingDir %A_ScriptDir% #SingleInstance F
#NoTrayIcon
#Persistent
#HotkeyInterval,100
#NoEnv
SetKeyDelay, –1
SetTitleMatchMode, 2 ; Makes matching the titles easier
SendMode Input
SetWorkingDir %A_ScriptDir%
#SingleInstance Force
Del::
getFilenameViaProperties()
getFilenameViaProperties(){
WinGetTitle, Title, A
WinGet, activePID, PID, A
PostMessage, 0x111 , 814 , , , ahk_pid %activePID% ;WM_COMMAND = 0x111 & wParam found
WinWait, Properties ahk_class #32770 ahk_pid %activePID%
Send ^{tab}
ControlGetText, fileName, Edit1
ControlGetText, directoryName, Edit6
WinClose
loc = %directoryName%\%fileName%
Msgbox,4,, DELETE? `n %loc%,20
IfMsgBox, Yes
{Send +{Down}
Sleep 200
FileDelete, %loc%
Sleep 700
IfExist, %loc%
{Send ^{c}
Sleep 200
FileRecycle, %loc%
}
}
}
return
注:
热键=删除按钮
下一个文件=Shift{Down}
代码似乎运行良好,但删除第一个文件后,它将无法再次工作
有什么帮助吗?如果您使用的是Media Player Classic-家庭影院,这将起作用:
首先配置Media Player Classic-Home Cinema以在标题栏中显示完整路径,方法是转到查看>选项>播放器,然后在标题栏部分选择显示完整路径
然后将以下代码放入自动热键脚本中:
#IfWinActive ahk_class MediaPlayerClassicW
Delete::
WinGetTitle, filePath, A
WinClose, A
WinWaitClose
FileRecycle %filePath%
Return
#IfWinActive
解释代码:
它将只在媒体播放器经典家庭影院的主屏幕上运行
当您按下“删除”按钮时,它会获取当前标题(现在应该是正在播放的文件的完整路径),然后关闭MPC-HC,等待它真正关闭,然后将文件移动到回收站。媒体播放器经典-家庭影院(MPC-HC)具有此内置功能,您可以自己设置热键(默认值为del)。我很惊讶这段代码竟然可以编译。函数不应该驻留在ing子例程中。将返回值直接放在getFilenameViaProperties()调用之后
,因此函数定义在热键例程之外。仍然是同一个问题,在删除第一个文件后就不起作用。我想这并不像我想的那么容易。我建议你做一些调试,因为没有其他人可以帮你做。它在哪里失败?为什么失败?是否有无休止的等待?