Orion9

|
Posted: Tue Feb 11, 2025 13:54 Post subject: |
|
|
Утро, кофе, и нешвейцарский шоколад:
 Hidden text Code: | Global DirSounds = %COMMANDER_PATH% & "\Ini\Sounds\"
RunThread ThreadSounds
Func ThreadSounds
Local debg = 1, key, val
Local ini = DirSounds & "Sounds.ini", out, i
If Not FileExist(ini) Then
MsgBox("Не найден " & ini)
Return
Endif
ProcessExecGetOutput /OEM out %COMSPEC% "/c dir /s /b *.wav" %DirSounds%
Local aWav = List()
aWav.Text = out
Local aNames = List("WincmdConnected","WincmdCopyComplete","WincmdDeleteComplete","WincmdPackComplete", _
"WincmdSearchComplete","WincmdTransferComplete","WincmdUnpackComplete")
While 1
For i = 0 To aNames.Count - 1
val = aWav[Random(0, aWav.Count-1, 1)]
key = "HKCU\AppEvents\Schemes\Apps\Wincmd\" & aNames[i] & "\.current"
RegWrite(key, "", "REG_SZ", val)
If debg Then
OutputDebugString("Autorun: key = " & key)
OutputDebugString("Autorun: val = " & val)
EndIf
Next
Sleep(1000)
Wend
Free(aNames, aWav)
EndFunc
|
Вот теперь ближе к тому, как оно должно быть, и это ещё не предел. Чтобы выжать максимум, список нужно дополнительно фильтровать и предварительно назначить на каждую операцию свой подкаталог с рамдомными файлами. Секция в ini может выглядеть так:
Code: | [Random]
Enable=1
Interval=10000
Debug=1
...
WincmdCopyComplete=Chewbacca
WincmdDeleteComplete=Операция Ы
...
|
Когда услышал звуки Чубаки чуть под стол не закатился. Однозначно рекомендую.
Loopback wrote: | Есть две очевидные проблемы: |
Теперь всё работает Для таких дел, разумеется, совсем другой объем знаний требуется. Было бы хорошо пару статеек почитать для начала: найдутся хорошие материалы?
Loopback wrote: | В подразделе "Конфигурация TC" справочных примеров Flasher добавил пример на эту тему, гляньте, может пригодится. |
Пригодится-то он пригодится, но сам пример не до конца рабочий. Ранее я уже писал, чем обусловлен вызов окна ассоциаций, вот и автор TCASwitcher тоже был вынужден откатится к тому же и всё по той же причине:
 Hidden text TCASwitcher - программа для переключения внутренних файловых ассоциаций Total Commander >=10.50 с возможностью задать наборы программ для открытия файлов в зависимости от их расширения
История изменений:
1.1.7
Исправлено переключение ассоциаций, когда при запуске Total Commander была включена "красная" секция (без ассоциаций). Правда, для этого пришлось вернуть одно из двух мелькающих окон, которые были убраны в версии 1.1.5
Я был бы рад отказаться от вызова окна, но пока Ghisler не исправит этот косяк, видимо, не получится. Однако если у вас есть какие-то предложения, буду рад услышать!
AkulaBig wrote: | но потом увидел, что вы еще один процесс запускает. Я так понял у вас эта функция для тестирования. |
Нет, функция больше не для тестирования, даже успел имя переменной окружения поменять с %ICON_TEST% на %ICON_ASSOC% А по поводу окна написал выше (если вы имеете в виду строку RunThread AssocWinSynс).
AkulaBig
Кстати, забыл написать. Последнюю сборку ещё не скачивал, но в той, что у меня есть, не вижу хайлайтера от yozhic в AkelPad-е. Вы им не пользуютесь? Имхо, многое теряеете. |
|