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
AkulaBig



PostPosted: Fri May 08, 2026 16:27    Post subject: Reply with quote

Orion9 wrote:
Причем это характерно только для 64-битной версии, в 32-битной такого нет.

Ах тыж, блин. А я столько времени потратил на попытку сделать код в Ауторан. В этом и есть вся причина. Попробовал в х32. Работает не хуже, чем на au3. Ну тогда вообще нет никакого смысла что-то городить. Понятно, что пока сансей не исправит глюк, про Ауторан можно забыть. Вот отлично работающий в х32 код, без всяких -stay_open:
Code:

Func ET1(FileName, FieldIndex, UnitIndex)
   Local pipe
   If StrPos(FileGetAttr(FileName), "D") Then Return
   ProcessExecGetOutput pipe %util_ET% '-T -m -q -q -Title "%FileName%"'
   If Not StrPos(pipe, "Error:") Then Return FixCPET(pipe)
EndFunc

Func ET(FileName, FieldIndex, UnitIndex)
   If StrPos(FileGetAttr(FileName), "D") Then Return

    Static a = List(), u = List()
    Local ansi, utf8, wrong = Chr(0xFFFD)

   Local param = " -f -s3 -m -q -q -Title "
   ClipPut("")

ShellExec("~/SW_HIDE /WAIT", COMSPEC, '/c ' & util_ET & param & '"' & FileName & '"' & ' | clip')

   ansi = ClipGet()
   ClipPut("")
   If Not StrPos(pipe, "Error:") Then Return FixCPET(pipe)
EndFunc

Единственное, огромная просьба к вам. Сами понимаете, в буфер приходит OEM. То-есть FixCPET(pipe) сначала надо из 866 перекодировать в 1251, а затем в утф. На au3 я это реализовал. Ниже увидите в коде. Можете помочь сделать это в Ауторан? Хочется закончить этот код. Пусть он будет не рабочий пока, но вдруг пригодится. Конечно я пока не буду писать код разделения значений полей. Но хочу чтобы база была сделана.
Orion9 wrote:
Изменит однозначно.

На данный момент я решил отказаться от реализации этой идеи. Очень мне не нравится, что все держится на wait. Мне кажется тогда надо ожидание выполнять не через временные интервалы, а через сравнение значений. Иначе это какая-то чудовищная потери скорости. Ладно, решу, тестить или не тестить.
Orion9 wrote:
Но я бы vbs не скидывал со счетов.

Ха, ха, ха. А я его не скинул со счетов. Я вам намекал на то, что такое накодировал. Но вы мою последнюю сборку не смотрели. Я просто хотел чтобы вы в работе посмотрели, да и код не по теме. Но тогда выкладываю здесь под катом:
 Hidden text

Из кода удалил поля по 34, чтобы не захломлять код.
Обратите внимание, не забыл я про vbs. Теперь он работает у меня в au3 Smile Правда это только код для красоты. Надо либо au3 x32 использовать. Либо перенаправить на system32. Ну или использовать ТС х32. Известная проблема х64 систем. Ну и я про перекодировку. Как видите, я читаю из буфера 866 в 1251, а далее в утф. Вот хотелось-бы реализовать это в Ауторан. Если найдете минутку, помогите, пожалуйста.
Совсем забыл. Я-же добавил в WinScriptsAdv количество полей. А то 21 поле совсем мало. Сделал 40 вроде. На оф. форуме Гислера ссылку дал.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group