0 Members and 1 Guest are viewing this topic.
Не понятно откуда собираетесь отправлятьДля Windows нужно смотреть стороннее ПОДля менеджера файлов доступный функционалДля плеера AIMP выбрать горячую главишу
SetBatchLInes, -1CoordMode, Mouse;SearchStr:="&Play in Winamp"SearchStr:="AIMP3", SearchStr2:="Edit tags"F11:: ; http://www.autohotkey.com/forum/post-186048.html#186048 IfWinNotExist, ahk_class #32768 Send, {AppsKey} WinWait, ahk_class #32768,, 0.25 If ErrorLevel Return MouseGetPos, xPos, yPos SendMessage, 0x1E1 GetMenu(GetMenu(ErrorLevel, SearchStr), SearchStr2) MouseMove, xPos, yPos IfWinExist, ahk_class #32768 WinClose, ahk_class #32768 ReturnGetMenu(hMenu, sStr){ Loop, % DllCall("GetMenuItemCount", "Uint", hMenu) { If (DllCall("GetMenuState", "UInt", hMenu , "UInt", A_Index-1 , "UInt", 0x400) & 0x860) Continue VarSetCapacity(sString, DllCall("GetMenuString", "UInt", hMenu , "UInt", A_Index-1 , "UInt", 0 , "Int", 0 , "UInt", 0x400)*2) DllCall("GetMenuString", "UInt", hMenu , "UInt", A_Index-1 , "Str", sString , "Int", VarSetCapacity(sString)+1 , "UInt", 0x400) If % sString==sStr { SelectMenu(hMenu, A_Index-1) Return, DllCall("GetSubMenu", "UInt", hMenu, "Int", A_Index-1) } }}SelectMenu(hMenu, Index){ VarSetCapacity(RECT, 16) DllCall("GetMenuItemRect", "UInt", 0 , "UInt", hMenu , "UInt", Index , "UInt", &RECT) xPos:=NumGet(RECT, 0)+(NumGet(RECT, 8)-NumGet(RECT, 0))//2 yPos:=NumGet(RECT, 4)+(NumGet(RECT, 12)-NumGet(RECT, 4))//2 MouseClick,, xPos, yPos,, 0}
Еще можно с помощью скрипта AutoHotkeyCode: [Select]SetBatchLInes, -1CoordMode, Mouse;SearchStr:="&Play in Winamp"SearchStr:="AIMP3", SearchStr2:="Edit tags"F11:: ; http://www.autohotkey.com/forum/post-186048.html#186048 IfWinNotExist, ahk_class #32768 Send, {AppsKey} WinWait, ahk_class #32768,, 0.25 If ErrorLevel Return MouseGetPos, xPos, yPos SendMessage, 0x1E1 GetMenu(GetMenu(ErrorLevel, SearchStr), SearchStr2) MouseMove, xPos, yPos IfWinExist, ahk_class #32768 WinClose, ahk_class #32768 ReturnGetMenu(hMenu, sStr){ Loop, % DllCall("GetMenuItemCount", "Uint", hMenu) { If (DllCall("GetMenuState", "UInt", hMenu , "UInt", A_Index-1 , "UInt", 0x400) & 0x860) Continue VarSetCapacity(sString, DllCall("GetMenuString", "UInt", hMenu , "UInt", A_Index-1 , "UInt", 0 , "Int", 0 , "UInt", 0x400)*2) DllCall("GetMenuString", "UInt", hMenu , "UInt", A_Index-1 , "Str", sString , "Int", VarSetCapacity(sString)+1 , "UInt", 0x400) If % sString==sStr { SelectMenu(hMenu, A_Index-1) Return, DllCall("GetSubMenu", "UInt", hMenu, "Int", A_Index-1) } }}SelectMenu(hMenu, Index){ VarSetCapacity(RECT, 16) DllCall("GetMenuItemRect", "UInt", 0 , "UInt", hMenu , "UInt", Index , "UInt", &RECT) xPos:=NumGet(RECT, 0)+(NumGet(RECT, 8)-NumGet(RECT, 0))//2 yPos:=NumGet(RECT, 4)+(NumGet(RECT, 12)-NumGet(RECT, 4))//2 MouseClick,, xPos, yPos,, 0}По F11 отправляет выделенные файлы в редактор тегов.Проверил, работает на win 7 64 (AIMP с англ. интерфейсом)
На Windows 8.1 x64 не работает. Клик правой кнопкой по выделенному файлу делает и все. Пробовал с английским и русским языком интерфейса AIMP.
Проверил на windows 10 x64, тоже заработало. Хммм, а в контекстное меню проводника АИМП интегрирован?
Да.P.S. Windows на каком языке?
Семерка на русском, десятка на английском.Скрипт ищет эту строчку в контекстном меню:Во вложении сам экзешник
SetBatchLInes, -1CoordMode, MouseSearchStr:="AIMP3", SearchStr2:="Редактировать теги"F4:: IfWinNotExist, ahk_class #32768 Send, {AppsKey} WinWait, ahk_class #32768,, 0.25 If ErrorLevel Return MouseGetPos, xPos, yPos SendMessage, 0x1E1 GetMenu(GetMenu(ErrorLevel, SearchStr), SearchStr2) MouseMove, xPos, yPos IfWinExist, ahk_class #32768 WinClose, ahk_class #32768 ReturnGetMenu(hMenu, sStr){ Loop, % DllCall("GetMenuItemCount", "Uint", hMenu) { If (DllCall("GetMenuState", "UInt", hMenu , "UInt", A_Index-1 , "UInt", 0x400) & 0x860) Continue VarSetCapacity(sString, DllCall("GetMenuString", "UInt", hMenu , "UInt", A_Index-1 , "UInt", 0 , "Int", 0 , "UInt", 0x400)*2) DllCall("GetMenuString", "UInt", hMenu , "UInt", A_Index-1 , "Str", sString , "Int", VarSetCapacity(sString)+1 , "UInt", 0x400) If % sString==sStr { SelectMenu(hMenu, A_Index-1) Return, DllCall("GetSubMenu", "UInt", hMenu, "Int", A_Index-1) } }}SelectMenu(hMenu, Index){ VarSetCapacity(RECT, 16) DllCall("GetMenuItemRect", "UInt", 0 , "UInt", hMenu , "UInt", Index , "UInt", &RECT) xPos:=NumGet(RECT, 0)+(NumGet(RECT, 8)-NumGet(RECT, 0))//2 yPos:=NumGet(RECT, 4)+(NumGet(RECT, 12)-NumGet(RECT, 4))//2 MouseClick,, xPos, yPos,, 0}
Для русской версии AIPM нужно поменять "Edit tags" на "Редактировать теги".