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 

Autorun
Goto page Previous  1, 2, 3 ... 131, 132, 133, 134, 135  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
jentoso



Joined: 20 Dec 2007
Posts: 351

Post (Separately) Posted: Thu Mar 21, 2024 18:28    Post subject: Reply with quote

Orion9
С учётом нового ключа тоже ошибка
Code:
---------------------------
Autorun plugin error
---------------------------
Error in file: D:\TOTALCMD\plugins\WDX\Autorun\Autorun.aucfg

[58] ProcessExecGetOutput hl %uwdx% "/I NTLinks.wdx ""%f%"" HLNK_Count"

_________________
TC 11.03 combo, Windows 10 x64
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1290

Post (Separately) Posted: Thu Mar 21, 2024 19:52    Post subject: Reply with quote

jentoso
Такая ошибка выдается, когда CreateProcess не удалось создать процесс. В данном случае не вижу никаких препятствий, кроме несуществующего пути в переменной %uwdx%, нужно проверять его. Во всяком случае мне для достижения работоспособности пришлось только её исправить.

Orion9 wrote:
Вот тут uwdx выдает "Test file does not exists.", если под курсором не файл/каталог.


Я бы просто предварительно проверил наличие файла средствами Autorun:
Code:
If FileExists(%f%) Then
  ProcessExecGetOutput hl %uwdx% "/I NTLinks.wdx ""%f%"" HLNK_Count"
Else
 ...
Endif
Back to top
View user's profile Send private message
jentoso



Joined: 20 Dec 2007
Posts: 351

Post (Separately) Posted: Thu Mar 21, 2024 20:23    Post subject: Reply with quote

Orion9
Loopback
С путями к uwdx у меня был "косяк", поправил и заработало.
_________________
TC 11.03 combo, Windows 10 x64
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 177

Post (Separately) Posted: Thu Mar 21, 2024 20:38    Post subject: Reply with quote

Loopback
Пример из справки:
Code:
MyFunc(123, 456, 789)
 
Func MyFunc(...)
    For i = 1 To Args()
        MsgBox(Args(i), i)
    Next
EndFunc

Приводит к ошибке
Code:
---------------------------
Ошибка плагина Autorun
---------------------------
Ошибка в файле: C:\Portable\T 11 03\Ini\Autorun\Autorun.cfg

[115] MyFunc(123, 456, 789)

Слишком много актуальных параметров в вызове "MyFunc".
---------------------------
ОК   
---------------------------

Хотя потом отрабатывает как и должен, т.е. показывает MsgBox три раза.

jentoso
Я просто пример делал на скорую руку. Конечно, там должны быть проверки, как и писал выше автор плагина, плюс:
Code:
Local uwdx = %COMMANDER_PATH% & "\Plugins\uwdx\uwdx.exe"
   If Not FileExist(uwdx) Then   
      MsgBox("Не найден " & uwdx)
      Return
   Endif
Back to top
View user's profile Send private message
jentoso



Joined: 20 Dec 2007
Posts: 351

Post (Separately) Posted: Thu Mar 21, 2024 20:56    Post subject: Reply with quote

Orion9
А что означают HLNK_Count и HLNK_Paths?
_________________
TC 11.03 combo, Windows 10 x64
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 177

Post (Separately) Posted: Fri Mar 22, 2024 00:20    Post subject: Reply with quote

Доработал немного пример. Все это сыро еще, конечно, но уже поинтереснее. Теперь инфу об NTFS-потоках еще тянет.

Code:
Func ShowFileInfo
Local f, p, hl, links, linkout
Local uwdx = %COMMANDER_PATH% & "\Plugins\uwdx\uwdx.exe"
   If Not FileExist(uwdx) Then   
      MsgBox("Не найден " & uwdx)
      Return
   Endif
   f = StrPart(ItemAtCursor('text'), auTAB, 1)
   p = SendMessage(RequestInfo(ItemAtCursor('panel') + 8), 13, 500, "" , 2)
   p = StrLeft(p, StrPos(p, "\", -1))
   f = p & f   
   ProcessExecGetOutput hl %uwdx% "/I NTLinks.wdx ""%f%"" HLNK_Count"
   if (hl+0) = 0 then
       MsgBox(hl)
      Return
   endif   
   ProcessExecGetOutput links %uwdx% "/I /C:1251 NTLinks.wdx ""%f%"" HLNK_Paths 0"
   linkout = "Hard Links: "  & hl & auCRLF
   linkout = linkout & auCRLF
   for i=1 to hl
      linkout = linkout & StrTrim(StrPart(links, ',', i)) & auCRLF
      i = i + 1
   next
   ProcessExecGetOutput stream %uwdx% "/I NTFSFileStreams.wdx ""%f%"" ""Streams Count"""
   if stream > 0 then
      linkout = linkout & auCRLF & auCRLF & "NTFS Streams: "  & stream & auCRLF
      linkout = linkout & auCRLF
      ProcessExecGetOutput streams %uwdx% "/I /C:1251 NTFSFileStreams.wdx ""%f%"" ""All Streams One Line"""
      for i=1 to stream
         linkout = linkout & StrTrim(StrPart(streams, ';', i)) & auCRLF
         i = i + 1
      next
      ProcessExecGetOutput size %uwdx% "/I /C:1251 NTFSFileStreams.wdx ""%f%"" ""All Streams Size"""
      linkout = linkout & auCRLF & "Streams Size " & size
   endif
   MsgBox(linkout)
EndFunc

jentoso
В плагине NTLinks есть некое описание, но его действительно маловато. Лучше все же почитать теорию где-нибудь, например, в справке к утилите от CaptainFlint
https://flint-inc.ru/rus/info/ntfslinks.html
Именно этой утилитой я и пользуюсь, в основном, для создания NTFS ссылок.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2571

Post (Separately) Posted: Fri Mar 22, 2024 10:27    Post subject: Reply with quote

Orion9
Quote:
Теперь скрипт просто добавляет полезную информацию к заголовку ТС, не трогая оригинального текста.

Попробовал. В целом работает. Заметил, что при перезапуске TC (cm_exit 9), в заголовке почему-то исчезает номер копии.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1290

Post (Separately) Posted: Fri Mar 22, 2024 13:12    Post subject: Reply with quote

Orion9 wrote:
Приводит к ошибке

К сожалению, пока просто не пользоваться открытым списком. Проблема исправлена, но версия еще не готова к выкладыванию.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 177

Post (Separately) Posted: Fri Mar 22, 2024 14:20    Post subject: Reply with quote

sa
Да, неприятная проблема.

Если в aucfg-файле сразу вслед за строчкой объявления переменных добавить MsgBox:

Code:
Global JustTitle = WinGetText(), VarTitle = JustTitle
MsgBox(JustTitle)

То при перезагрузке командой cm_Exit 9 (в новых окнах ТС) можно увидеть, что текст сообщения в MsgBox не соответствует тексту заголовка. Похоже, функция WinGetText() где-то не так срабатывает, т.е. проблема не в скрипте (его можно совсем отключить, закомментировав вызов TitleLaunch в конфиге Autorun) а на более низком уровне.

Кстати, заметил, что при таком вызове MsgBox, она действительно не всегда показывается в 64-х битном Тотале.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2571

Post (Separately) Posted: Fri Mar 22, 2024 14:47    Post subject: Reply with quote

Orion9
Добавил Sleep(250) в начало autorun.cfg – помогло.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 177

Post (Separately) Posted: Fri Mar 22, 2024 18:40    Post subject: Reply with quote

sa
Отличное решение!
Еще не успел опробовать, но ради корректной работы можно даже и пол(!)секундой пожертвовать Smile
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 177

Post (Separately) Posted: Sun Mar 24, 2024 00:38    Post subject: Reply with quote

sa
Решение действительно рабочее, спасибо за вашу смекалку - избавили от лишней головной боли Very Happy Видимо, Autorun получает текст заголовка раньше, чем Тотал его окончательно выстраивает, поэтому небольшое ожидание здесь как никогда уместно.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 181

Post (Separately) Posted: Wed Apr 03, 2024 11:59    Post subject: Reply with quote

Сердечно рады свершившемуся возобновлению хотелки о всплывающих подсказках! И мы когда-то с этой же скромной просьбой здесь стучались Smile Но тогда время ещё не пришло. Так быть может сейчас оно поспело? На всякий случай: мой большой плюс к данному начинанию всегда наготове. А я всё так пока и пользуюсь своим au3-скриптом для этих целей. Таким образом, у нас назрели уже две насущные области применения tooltip'ов: 1) для функц-х клавиш подсказок куда-чего повесил; 2) описанный Orion9. Плюс ещё то, что было в мыслях у Loopback, когда tooltip'ы появились в «списке с приоритетом "подумать когда-нибудь"». В общем, если что-то получится, то будет, мне кажется, вполне востребовано.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 177

Post (Separately) Posted: Thu Apr 04, 2024 00:50    Post subject: Reply with quote

yozhik
Спасибо за отсылку к старым постам. Я давно хотел почитать страниц 10 последних, но так и не добрались руки. Отвлекся тут на новый скрипт Autorun + AutoHotKey Very Happy Если все получится как надо, скину в скором времени.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1290

Post (Separately) Posted: Sun Apr 07, 2024 23:24    Post subject: Reply with quote

yozhik
Тултип или что-то похожее скорее всего будет, но вот со способами показа пока не до конца ясно. С помощью кликов или горячих клавиш вроде проблем быть не должно, но с наведением всё несколько сложнее. В функционал ControlSetMouseAction оно не укладывается. Но посмотрим.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 131, 132, 133, 134, 135  Next
Page 132 of 135

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group