Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Autorun 
Author Message
Orion9



PostPosted: Thu Apr 24, 2025 00:21    Post subject: Reply with quote

AkulaBig wrote:
Так в оригинале. Там-же строковый параметр. Разберемся.

Я исходил из кода Ahk, но значение "ноль", видимо, допустимо (проверил пример на Au3).
AkulaBig wrote:
Ваши значения у меня тоже вызывают вопросы. Пока я в этом не очень.

Да я как бы тоже... не очень )

Loopback, наверное, может подказать более правильно, тем более что целый wdx-плагин был сделан на вызовах MediaInfo.
AkulaBig wrote:
Не работает у меня по простой причине. Нет вывода в консоль

А он тут и не нужен. Из консоли бралось в переменную, сейчас будет браться из DLL. Переделал код кнопки в кастомные поля:
Code:
Func JoinHint(FileName, FieldIndex, UnitIndex)
    Local b_CTRL = IsPressed (0x11)
    If Not b_CTRL Then
       Return
    EndIf   
    Static pipe, idx = 0   
    Static sLib = "MediaInfo" & (auX64 ? "" : "_i386") & ".dll", _
           hLib = DllCall("LoadLibrary", "wstr", COMMANDER_PATH & "\Ini\Tools\Libs\" & sLib, "ptr")
    If hLib = 0 Then
       Return "Error LoadLibrary " & sLib
    EndIf
    If FieldIndex = 1 Then
       idx = 0
       Local hMI = DllCall(sLib & '\MediaInfo_New', "Ptr")
       If hMI = 0 Then
          Return "MediaInfo_New returned 0"
       Endif
       If DllCall(sLib & '\MediaInfo_Open', 'ptr', hMI, "wstr", FileName, "uint") <> 1 Then
          DllCall(sLib & '\MediaInfo_Delete', "Ptr", hMI)       
          Return "MediaInfo_Open failed to open file " &  FileName
       EndIf
       DllCall(sLib & '\MediaInfo_Option', 'ptr', hMI, "wstr", "Complete", "wstr", "", "wstr")       
       If IsPressed(0x10) Then
          DllCall(sLib & '\MediaInfo_Option', 'ptr', hMI, "wstr", "Complete", "wstr", "1", "wstr")
       EndIf
       pipe = DllCall(sLib & '\MediaInfo_Inform', 'ptr', hMI, "uint", 0, "wstr")
       DllCall(sLib & '\MediaInfo_Delete', "Ptr", hMI)
       If IsPressed (0x5B) Then
          idx = 50
       Endif
    Endif
    Return TrimSpaces(StrPart(pipe, auLF, FieldIndex + idx))
EndFunc

Работает. SHIFT - полная инфа. Очень быстро работает, надо будет переделать старый хинт, когда руки доберуться.
AkulaBig wrote:
придет на землю русскую Витязь или Батыр и так встряхнет Гислера, что он все наши хотелки сделает

Боюсь, это не поможет. Гислеру наши хотелки не нужны, у него своё, дальнее видение. Видеоплеер и 7zip уже прикрутил, теперь, видимо, браузер на очереди. Он еще доведёт, ДОВЕДЁТ свое детище до крылатой фразы "Куда же Тотал без браузера-то, а лучше двух" )
AkulaBig wrote:
Я вроде лазил по сайту, но ничего подобного не нашел. А можете ссылку именно на этот архив дать?

Да вроде бы здесь всё:
https://mediaarea.net/en/MediaInfo/Download/Windows
https://mediaarea.net/download/binary/libmediainfo0/25.03/MediaInfo_DLL_25.03_Windows_x64_WithoutInstaller.7z
Внутри каталог "Developers".
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group