Orion9

|
Posted: Wed Nov 20, 2024 14:24 Post subject: |
|
|
sa
Надо посмотреть. А пока сброшу еще одну плюшку, учитывая последние веяния с MI
 Hidden text Code: | # вызов по Alt + "["
SetHotkeyAction /K:A /V:219 GetMediaInfo 0
# + Ctrl
SetHotkeyAction /K:A /K:C /V:219 GetMediaInfo 0
# вызов по Alt + "]"
SetHotkeyAction /K:A /V:221 GetMediaInfo 1
# + Ctrl
SetHotkeyAction /K:A /K:C /V:219 GetMediaInfo 1
# код для вызова из кнопки
RegisterCommand 70004 "GetMediaInfo"
Func GetMediaInfo(lParam)
Local sPath, sName, sFile, sAkel, sMI, pMI, txt, sTemp
# lParam = 0 - использовать временный файл > 1.txt
# lParam = 1 - сохранить и вставить stdout из буфера
sMI = %COMMANDER_PATH% & "\Plugins\arc\MediaInfo\MediaInfo.exe"
pMI = %COMMANDER_PATH% & "\Plugins\arc\MediaInfo\"
sAkel = %COMMANDER_PATH% & "\Utilites\AkelPad\AkelPad.exe"
sPath = RequestCopyDataInfo("SP")
sName = RequestCopyDataInfo("SN")
sFile = sPath & sName
If Not FileExist(sFile) Then
ShowHint("Файл не существует " & sFile)
Return
Endif
If StrPos(FileGetAttr(sFile), "D") Then
ShowHint("Каталог")
Return
Endif
sTemp = %TEMP% & "\" & StrFormat("07%d", Random(1, 100000, 1)) & ".txt"
OutputDebugString(sTemp)
# Ctrl - русский язык
If IsPressed (0x11) Then
If lParam = 1 Then
ProcessExecGetOutput txt %sMI% ' --Language=file://ru.csv --Complete "%sFile%"' '%pMI%'
Else
ProcessExecGetOutput txt %sMI% ' --Language=file://ru.csv --Complete --LogFile="%sTemp%" "%sFile%"' '%pMI%'
Endif
Else
If lParam = 1 Then
ProcessExecGetOutput txt %sMI% ' -f "%sFile%"'
Else
ProcessExecGetOutput txt %sMI% ' -f --LogFile="%sTemp%" "%sFile%"'
Endif
Endif
If lParam = 1 Then
ClipPut(txt)
h = WinFind(0, "AkelPad4")
If h > 0 Then
ShellExec /SW_SHOWNORMAL %sAkel% '/Command(4101) /Command(4155) /Call("Scripts::Main", 1, "GoHome.vbs")'
Else
ShellExec /SW_SHOWNORMAL %sAkel% '/Command(4155) /Call("Scripts::Main", 1, "GoHome.vbs")'
Endif
Else
If txt = "" Then
ShowHint("Пустой stdout")
Else
ShellExec /SW_SHOWNORMAL %sAkel% '%sTemp%'
Endif
Endif
EndFunc
|
Эх, жаль ProcessExecGetOutput не возвращает корректно юникод: не пришлось бы заморачиваться с рамдомным временным файлом  |
|