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 

[wdx] WinScript Advanced Content Plugin (x86\x64) (new)
Goto page Previous  1, 2, 3 ... 16, 17, 18, 19, 20  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
AkulaBig



Joined: 03 Dec 2008
Posts: 424

Post (Separately) Posted: Tue Nov 12, 2024 13:46    Post subject: Reply with quote

Orion9 wrote:

Верните свой удаленный скрипт, хочется на него взглянуть Smile

Да от него на нынешний момент только основа осталась. Как подключить библиотеку. Он выложен в теме AutoIt на ру.борде.
Orion9 wrote:
Я примерно понял технику: запустить ahk из vbs, передав ему имя. Может и попробую когда, если возникнет потребность Wink

Совершенно верно. В этой теме и на офсайте есть рыба. Но при реализации куча нюансов вылезла.
Back to top
View user's profile Send private message
ProgMan13



Joined: 19 Aug 2009
Posts: 336

Post (Separately) Posted: Thu Nov 14, 2024 01:11    Post subject: Reply with quote

В секции [Script] опция проверки результата скрипта на UTF8:
CheckUTF8Result=1

http://progman13.wincmd.ru/downloads/WinScriptAdv.zip
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 424

Post (Separately) Posted: Thu Nov 14, 2024 10:43    Post subject: Reply with quote

А можно чуть поподробнее, как пользоваться этой опцией? Установил обновление. Не зависимо от значения CheckUTF8Result перед выводом результата в колонку стала появляться надпись WSA.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 807

Post (Separately) Posted: Thu Nov 14, 2024 11:52    Post subject: Reply with quote

Браво, ProgMan13, теперь всё заработало Smile

И визуально работает чуть быстрее, чем тот же скрипт на Autorun. Будет время, потестирую получше.

AkulaBig
Я так понял, что это сделали примочку для внешних движков. Vbs это не касается.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 424

Post (Separately) Posted: Thu Nov 14, 2024 14:51    Post subject: Reply with quote

Orion9 wrote:

Я так понял, что это сделали примочку для внешних движков. Vbs это не касается.

Понятно. Да, ошибка перестала выскакивать. Самое интересное, что изменение значения ключа не на что не влияет. Его вообще можно не прописывать. Скорость ничуть не изменилась. Но появился неприятный момент. Появляется значение WSA, которое потом меняется на правильное значение. Из-за этого пока не зашло.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 807

Post (Separately) Posted: Thu Nov 14, 2024 17:44    Post subject: Reply with quote

Quote:
Его вообще можно не прописывать

Если его не прописывать, то будут кракозябры вместо русских имен.

Для правильной работы мне потребовалось указать этот ключ и в скрипте сделать вывод в stdout в кодировке 650001. Все другие варианты - либо ANSI, либо кракозябры.

А что такое WSA и почему вы его ловите? Колонка с vbs-скриптом у меня работает нормально независомо от ключа CheckUTF8Result.

Добавлено спустя 8 минут:

А, кажется, увидел. Появляется такая надпись перед заполнением данных, но работе не мешает.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 424

Post (Separately) Posted: Thu Nov 14, 2024 18:45    Post subject: Reply with quote

Orion9 wrote:

Если его не прописывать, то будут кракозябры вместо русских имен.
Для правильной работы мне потребовалось указать этот ключ и в скрипте сделать вывод в stdout в кодировке 650001. Все другие варианты - либо ANSI, либо кракозябры.

Теперь понятно. Вы как Штирлиц. Пытать вас приходится Rolling Eyes
Как прописать кодировку в выводе? Сейчас-то мне конвертировать приходится через bin. Еще знаю UDF-функционал encoding. Но я понял надо кодовую страницу вывода задать?
Orion9 wrote:

Колонка с vbs-скриптом у меня работает нормально

Я это с первого раза понял и тестирую au3.
Orion9 wrote:

А что такое WSA и почему вы его ловите?
А, кажется, увидел. Появляется такая надпись перед заполнением данных, но работе не мешает.

Работе не мешает, но использовать такой вывод несерьезно.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 807

Post (Separately) Posted: Thu Nov 14, 2024 20:38    Post subject: Reply with quote

Quote:
Я это с первого раза понял и тестирую au3

Ну откуда же я знал, что вы на au3 пишите? Laughing Говорил же вам верните скрипт ) Хотя если он на AutoIt, то в нем я совершенное не силен.
Quote:
Но я понял надо кодовую страницу вывода задать?

Да.

В Autohotkey это задается командой FileEncoding перед выводом в stdout, т.е. в самом скрипте это выглядит как:
Code:
FileEncoding 65001
content := filename
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 424

Post (Separately) Posted: Thu Nov 14, 2024 22:22    Post subject: Reply with quote

Orion9 wrote:

В Autohotkey

Спасибо. Я думал вы на au3 пишите. Придется самому разбираться.
Orion9 wrote:
AutoIt, то в нем я совершенное не силен.

Какая разница на каком языке писать, если понимаешь алгоритмы программирования. В свое время был у нас препод, который толком не знал, какую кнопку на компе нажать. Но его одного взяли в совместное предприятие и он на премию за алгоритмы купил квартиру, обставил ее. Естественно и женщина хорошая сразу нашлась. А крутые кодеры так и продолжали за зарплату на кнопки давить.
Наверное пока не буду этим вопросом заниматься, так как совсем не устраивает вывод ненужных данных перед заполнением колонок.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 807

Post (Separately) Posted: Fri Nov 15, 2024 00:02    Post subject: Reply with quote

Quote:
Какая разница на каком языке писать, если понимаешь алгоритмы программирования.

Я знаком с Autohotkey V2, но даже чтение скриптов, написанных на Autohotkey V1, может вызывать серьезные трудности из-за отличий в синтаксисе. И все же, когда я просил вас вернуть удаленный скрипт, я надеялся посмотреть на его алгоритм, прежде всего. Что вы хотите вытянуть из консольной утилиты?
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 424

Post (Separately) Posted: Fri Nov 15, 2024 06:34    Post subject: Reply with quote

Orion9 wrote:

Я знаком с Autohotkey V2, но даже чтение скриптов, написанных на Autohotkey V1, может вызывать серьезные трудности из-за отличий в синтаксисе.

Именно из-за этого я от него отказался. Не смог создать тестовый скрипт на версии 2. Решил, что в дальнейшем запутаюсь в нем.
Orion9 wrote:
когда я просил вас вернуть удаленный скрипт, я надеялся посмотреть на его алгоритм, прежде всего.

Я выше написал, где скрипт лежит. А у меня его нет. Он давно уже изменен.
Orion9 wrote:
Что вы хотите вытянуть из консольной утилиты?

Из консольной ничего не вытянешь. Потому что она мелькает при работе. Поэтому приходится использовать библиотеку. А значит использовать либо au3, либо ahk.
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 335

Post (Separately) Posted: Fri Nov 15, 2024 07:12    Post subject: Reply with quote

AkulaBig wrote:
Из консольной ничего не вытянешь. Потому что она мелькает при работе.

Я на VBS со сторонними утилитами обычно вытягиваю не через StdOut, а через временный файл, вызов примерно такой:
Code:
program="%commander_path%\...\program.exe"
WshShell.run "cmd /c """"" & program & """ -params""" & """>""" & txtfile & """", 0, True

А потом закидываю в переменную (<=32768) содержимое текстового файла, его удаляю, а с переменной делаю парсинг построчно на предмет нужной информации. Никакого окна не мелькает.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 807

Post (Separately) Posted: Fri Nov 15, 2024 11:27    Post subject: Reply with quote

AkulaBig wrote:
Поэтому приходится использовать библиотеку. А значит использовать либо au3, либо ahk.

Ну так что вы хотели вытянуть-то? Smile

Добавлено спустя 3 минуты:

Monarch-LFV wrote:
А потом закидываю в переменную (<=32768) содержимое текстового файла, его удаляю, а с переменной делаю парсинг построчно на предмет нужной информации. Никакого окна не мелькает.

Рабочий способ Smile
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 424

Post (Separately) Posted: Fri Nov 15, 2024 12:51    Post subject: Reply with quote

Orion9 wrote:

Ну так что вы хотели вытянуть-то? Smile

Ну а что можно вытянуть из MediaInfo? Тестирую разные способы получения информации и программирование на разных скриптовых языках.
Orion9 wrote:
Рабочий способ Smile

Отдельно пробовал этот метод. Смущает, что надо создавать временный файл. Надо будет попробовать в составе скрипта. Хотя сначала надо будет попробовать использовать всякие прожки, скрывающие вывод.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 807

Post (Separately) Posted: Fri Nov 15, 2024 13:49    Post subject: Reply with quote

AkulaBig
Понял. Больше для тестов. Просто Monarch-LFV верно отметил, что TCMediaInfo может вытянуть что угодно и как угодно. Благо автор плагина постарался Smile

Что касается мелькания консоли, то я никакой специалист в системных делах, но ряд каких-то техник существует. В Autohotkey я нашел в сети такой подход, может вам пригодится чем)
Code:
RunWaitOne(command) {
local sOut
dhw := A_DetectHiddenWindows
pid :=0   
    DetectHiddenWindows true
    Run A_ComSpec " /k",, "Hide", &pid
    WinWait "ahk_pid " pid
   
    DllCall("AttachConsole", "UInt", pid)
    DetectHiddenWindows dhw

    shell := ComObject("WScript.Shell")
    exec := shell.Exec(A_ComSpec . " /C " . command)   
    sOut := exec.StdOut.ReadAll()
   
    DllCall("FreeConsole")
    if ProcessExist(pid)
       ProcessClose pid
return sOut
}
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 ... 16, 17, 18, 19, 20  Next
Page 17 of 20

 
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