Orion9
 
  
 
  | 
		
			
				 Posted: Mon Nov 25, 2024 01:20    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Loopback
 
Ну и зверя же вы сделали! Играться с ним можно бесконечно    Жаль, что в ближайшее время у меня не будет такой возможности, но оторваться и правда невозможно! ) 
 
 
И всё-таки я поймал рыбу своей мечты  
 
 
  autorun.cfg  	  | Code: | 	 		  
 
Pragma AutorunPluginFields "C1:::BigHint" "C2:::BigHint" "C3:::BigHint" "C4:::BigHint" "C5:::BigHint" "C6:::BigHint" "C7:::BigHint" "C8:::BigHint" "C9:::BigHint" "C10:::BigHint" "C11:::BigHint" "C12:::BigHint" "C13:::BigHint" "C14:::BigHint" "C15:::BigHint" "C16:::BigHint" "C17:::BigHint" "C18:::BigHint" "C19:::BigHint" "C20:::BigHint" "C21:::BigHint" "C22:::BigHint" "C23:::BigHint" "C24:::BigHint" "C25:::BigHint" "C26:::BigHint" "C27:::BigHint" "C28:::BigHint" "C29:::BigHint" "C30:::BigHint" "C31:::BigHint" "C32:::BigHint" "C33:::BigHint" "C34:::BigHint" "C35:::BigHint" "C36:::BigHint" "C37:::BigHint" "C38:::BigHint" "C39:::BigHint" "C40:::BigHint" "C41:::BigHint" "C42:::BigHint" "C43:::BigHint" "C44:::BigHint" "C45:::BigHint" "C46:::BigHint" "C47:::BigHint" "C48:::BigHint" "C49:::BigHint" "C50:::BigHint" "C51:::BigHint" "C52:::BigHint" "C53:::BigHint" "C55:::BigHint" "C55:::BigHint" "C56:::BigHint" "C57:::BigHint" "C58:::BigHint" "C59:::BigHint" "C60:::BigHint"
 
 
Func BigHint(FileName, FieldIndex, UnitIndex)
 
   Static idx = 0
 
   Static pipe, c = 0, f = 0, _
 
          sMI = %COMMANDER_PATH% & "\Plugins\arc\MediaInfo\MediaInfo.exe", _
 
          pMI = %COMMANDER_PATH% & "\Plugins\arc\MediaInfo\" 
 
                         
 
   If Not IsPressed (0x11) Then Return
 
    
 
   #f = f + 1
 
   
 
   If FieldIndex = 1 Then
 
      idx = 0
 
      ProcessExecGetOutput /C:65001 pipe %sMI% ' --Language=file://ru.csv "%FileName%"' %pMI%
 
      If IsPressed (0x5B) Then  
 
         idx = 50
 
      Endif
 
      #c = c + 1
 
      #OutputDebugString("Autorun: f = " & f & " c = " & c & "idx=" & idx)
 
   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
 
  | 	 
  
 
 
  [HintsCustomField]  	  | Code: | 	 		  22exts=*.*
 
22fields=[=autorun.C1]\n[=autorun.C2]\n[=autorun.C3]\n[=autorun.C4]\n[=autorun.C5]\n[=autorun.C6]\n[=autorun.C7]\n[=autorun.C8]\n[=autorun.C9]\n[=autorun.C10]\n[=autorun.C11]\n[=autorun.C12]\n[=autorun.C13]\n[=autorun.C14]\n[=autorun.C15]\n[=autorun.C16]\n[=autorun.C17]\n[=autorun.C18]\n[=autorun.C19]\n[=autorun.C20]\n[=autorun.C21]\n[=autorun.C22]\n[=autorun.C23]\n[=autorun.C24]\n[=autorun.C25]\n[=autorun.C26]\n[=autorun.C27]\n[=autorun.C28]\n[=autorun.C29]\n[=autorun.C30]
 
23exts=*.*
 
23fields=[=autorun.C31]\n[=autorun.C32]\n[=autorun.C33]\n[=autorun.C34]\n[=autorun.C35]\n[=autorun.C36]\n[=autorun.C37]\n[=autorun.C38]\n[=autorun.C39]\n[=autorun.C40]\n[=autorun.C41]\n[=autorun.C42]\n[=autorun.C43]\n[=autorun.C44]\n[=autorun.C45]\n[=autorun.C46]\n[=autorun.C47]\n[=autorun.C48]\n[=autorun.C49]\n[=autorun.C50]\n[=autorun.C51]\n[=autorun.C52]\n[=autorun.C53]\n[=autorun.C54]\n[=autorun.C55]\n[=autorun.C56]\n[=autorun.C57]\n[=autorun.C58]\n[=autorun.C59]\n[=autorun.C60]  | 	 
  
 
Пришлось разбить на поля, поскольку юниты внутри поля оставляют пустоты. Заодно выяснил, что на один шаблон можно повесить только 30 полей. Но я думаю, больше и не надо, а то подсказка совсем за экран вылезет.
 
 
В общем, удержание Ctrl добавляет к подсказке данные из MediaInfo, а точнее первые 60 строк. Удержание Win+Ctrl добавляет с 50-ой строки. Нужна консольная утилита MediaInfo и последняя версия Autorun со всеми последними субплагинами. Результат мне очень понравился, хотя над форматом вывода еще можно работать и пробовать его улучшать.
 
 	  | Quote: | 	 		  | А кстати, зачем её вообще использовать? Эта функция сейчас в некотором роде атавизм. Можно же просто записать:  | 	  
 
Да как-то упустил такое. А разве переменная не раскроется?
 
 	  | Quote: | 	 		  |  В принципе можно всё сильно упростить, если просто придумать кастомный формат меню и научить ShowPopupMenu его понимать.  | 	  
 
Можно и отдельную функцию сделать с другим именем. В моем понимании меню должно быть примерно таким:
 
https://www.autohotkey.com/docs/v2/lib/Menu.htm
 
Чисто визуально и по функционалу, а реализация все-равно от пользователя будет скрыта. Можно и тектом наполнять.
 
 
 
Забыл еще про GetState написать, что к библиотекам хотелось бы еще дату изменения файлов выводить. Не хватает, как мне показалось    | 
			 
		  |