AkulaBig
|
Posted: Tue Apr 22, 2025 22:06 Post subject: |
|
|
Orion9
Наконец-то дошли руки до тестирования MediaInfo. Подключаю через DllCall, взяв за основу вашу функцию BigHint:
 Hidden text
Code: |
Func BigHint(FileName, FieldIndex, UnitIndex)
Local b_CTRL = IsPressed (0x11)
Static pipe, idx = 0
If Not (b_CTRL) Then Return
If FieldIndex = 1 Then
idx = 0
If b_CTRL Then
Local hDLL = DllCall("LoadLibrary", _
"wstr", util_MI, _
"handle")
# OutputDebugString(hDLL)
# Получить дескриптор DLL
Local hMediaInfo = DllCall("mediainfo\MediaInfo_New", "handle")
# OutputDebugString(hMediaInfo)
# Открыть файл
Local ResOpenFile = DllCall("mediainfo\MediaInfo_Open", _
"ptr", hMediaInfo, _
"wstr", FileName)
# OutputDebugString(ResOpenFile)
Local InfoParameters = DllCall("mediainfo\MediaInfo_Option", _
"ptr", 0, _
"wstr", "Complete", _
"wstr", "")
# OutputDebugString(InfoParameters)
Local pipe = DllCall("mediainfo\MediaInfo_Inform", _
"ptr", hMediaInfo, _
"int", 0)
# OutputDebugString(aMediaInfoInform)
# ProcessExecGetOutput /C:65001 pipe %sMI% ' --Language=file://ru.csv "--Complete=0" "%FileName%"' %pMI%
If IsPressed (0x5B) Then
idx = 50
Endif
Endif
Endif
Return TrimSpaces(StrPart(pipe, auLF, FieldIndex + idx))
EndFunc
Func TrimSpaces(String)
Local a, b
If Not StrPos(String, ":") Then Return String
a = StrPart(String, ":", 1)
b = StrPart(String, ":", 2)
Return StrTrim(a) & ": " & StrTrim(b)
EndFunc
|
ProcessExecGetOutput закомментил, так как совершенно не понимаю, как в данном случае организовать возврат значения в нее. Есть-ли у вас какие идеи на этот счет? А то не могу проверить, вообще правильно-ли подключил MI. |
|