[Quote]

    avalat
  • 222
  • Longevity: 10 years
  • Posts: 499
  • REPUTATION:127

    [+] [-]
Извлечение иконок из папки и из файлов *.exe *.dll *.icl
IconsExt
Добавлен ресурс 11 в EXEDATA (ResHacker.exe)


Last edited by avalat on 2025-03-25 21:09; edited 2 times in total

[Quote]

    avalat
  • 222
  • Longevity: 10 years
  • Posts: 499
  • REPUTATION:127

    [+] [-]
Недавно как то разбирался со ссылками на Youtube, наткнулся на утилитку youtube-dl.exe
Заменил на yt-dlp.exe.
Набросал гуишку.
Скорость загрузки удручила...у меня не больше 70, хотя были и вспышки
Вот код с комментариями
MDIR %Temp%\yt //создаём папку в (%Temp%\yt)
PUTF -wait %Temp%\yt\yt-dlp.exe,,%MyName%#12|EXEDATA // в эту папку распаковываем утилиту yt-dlp.exe
ENVI txt=%TEMP%\logY.txt // создаём переменную для лога (txt)
ENVI &V=
_SUB win,W330H150,Download_YT,x,
ENVI @win.POS=::::4
ITEM st,L140T80W170H30,Вставить из буфера обмена,v
ITEM st2,L140T80W170H30,Загрузить,st
ENVI @st2.visible=0
LABE -left ,L10T4W300H12,Ссылка с Youtube,,0x6D6C6A
PBAR pb,L10T52W300H20,,
EDIT| pp,L10T290W550H20,,,0x20
EDIT ed,L10T20W300H20,,,0x100,0xFF0000,
LABE -left sss,L12T84W40H25,,,0x0000FF,16
LABE -left sss2,L10T145W60H16,,,0x0000FF
LABE -left fil,L10T120W300H23,,,,8
LABE -left vr,L78T145W50H16,Осталось,,
LABE -left vr2,L132T143W50H16,,,0xFF0000,14
LABE -left sk,L200T145W55H16,Скорость,,
LABE -left sk2,L256T145W60H16,,,0xFF0000,
// ENVI @ed.MSG=0x0233::&&wp,,stf
// ENVI @edi.MSG=0x0233::&&wp,,sti
_END
_SUB v
ENVI @ed.SENDMSG=0x0302
ENVI n=%ed%
LSTR bukv=10,%ed%
FIND $%bukv%=https://yo, TEAM ENVI @st.visible=0|ENVI @st2.visible=1!TEAM ENVI @ed=|MESS=-icon Вставьте правильную ссылку //| EXIT
_END
_SUB st // нажатие "Загрузить"
envi n2=%ed% // считываем ещё раз ссылку
find $%n%<>%n2%,team ENVI @st.visible=1|ENVI @st2.visible=0|ENVI @ed=|MESS=-icon Вставьте правильную ссылку|exit // проверяем - не изменилась ли она
ENVI @win.pos=:::200 // меняем (увеличиваем) размер окна
// нужное внизу - выбрать (раскомментировать)
// эта строка для вставки в exe - она пока закомментирована
// EXEC* -hide --cmd::400:progr &V=%Temp%\yt\yt-dlp.exe -i --ignore-errors %ed% // запускаем загрузку - каждые 400 мс будут передаваться данные <&V> в подпрограмму progr
// эта строка для файла youtube-dl.exe - находится рядом
EXEC* -hide --cmd::400:progr &V=%CurDir%\yt-dlp.exe -i --ignore-errors %ed%
TEAM ENVI @win.pos=:::150|ENVI @st2.enable=1|ENVI @st2.visible=0|ENVI @st.visible=1|ENVI @ed=|ENVI @sss=|ENVI @fil=|ENVI %fil%= //после загрузки изменяем размер окна, меняем кнопки на видимые, очищаем переменные
IFEX %CurDir%\%fil%, EXEC explorer.exe %CurDir%\ // если файл существует - открываем окно с загруженным файлом
_END
_SUB progr
ENVI @st2.enable=0 // делаем неактивной кнопку "Загрузить"
ENVI &s= // создаём переменную
WRIT %txt%,$,%&V% // записываем данные из <&V> в лог <txt>
READ *fix %txt%,*r,tx // считываем построчно весь лог в переменную <tx>, нам нужна строка где встречается слово <Destination:> - после неё идет название файла
LPOS** a=Destination:,,%tx% // вычисляем позицию слова - это число <a>
CALC aa=%a%+1 // добавляем единицу
MSTR res=<%aa%->%tx% // сохраняем в переменную <res> текст до конца строки от <%aa-%> - это название файла
READ -,1,ress,%res% // считываем из переменной <res> название файла
ENVI @fil=%ress% // вставляем его в окно в @fil
READ *fix %txt%,0,&s // считываем последние строки из лога в переменную <&s>
ENVI @pp=%&s% // вставляем строки в невидимое окно редактирования @pp, выглядят они так - <[download] 55.7% of 18.58MiB at 76.35KiB/s ETA 01:50>
TEAM MSTR &p=<2>%pp%|CALC #&p=%&p% // извлекаем 2 "слово" из строки - 55.7% - это процент загрузки, делаем его целым
ENVI @sss=%&p%%% // вставляем его в окно в строку @sss
ENVI @pb=%&p% // и вставляем его в прогрессбар
MSTR &ra=<4>%pp% // извлекаем 4 "слово" - 18.58MiB - это размер файла
SED &raz=0,MiB, Mb,%&ra% // заменяем MiB на более привычное Мb
ENVI @sss2=%&raz% // вставляем в окно
MSTR &ps=<6>%pp% // извлекаем 6 "слово" - 76.35KiB/s - это скорость
SED &psk=0,MiB/s, Mb/s,%&ps% // заменяем KiB/s на KB/s
ENVI @sk2=%&psk% //вставляем в окно
MSTR &vr=<8>%pp% // извлекаем 8 "слово" - это оставшееся время
ENVI @vr2=%&vr% //вставляем
IFEX $%sss%=100%,team KILL yt-dlp.exe|ENVI @sss.visible=0//когда будет 100% - закрываем процесс youtube-dl.exe,
_END
_SUB x // при выходе закрыть процесс и удалить лог
KILL yt-dlp.exe
FILE %txt%
FILE %TEMP%\YT\ //удаление папки с yt-dlp.exe
KILL \
_END
В архиве неупакованный exe, утилита yt-dlp.exe и код
(Знаю, что таких подобных прог много, чисто как пример PECMD)


Last edited by avalat on 2022-08-18 20:35; edited 12 times in total

[Quote]

    SergeyZV
  • 528
  • Longevity: 10 years
  • Posts: 1259
  • REPUTATION:34

    [+] [-]
avalat, youtube-dl.exe отстой. Используй yt-dlp.exe.

[Quote]

    avalat
  • 222
  • Longevity: 10 years
  • Posts: 499
  • REPUTATION:127

    [+] [-]
SergeyZV,
aa
Ага, подставил yt-dlp.exe, заработало... Только в конце два окна открывается, не успевает процесс убить сразу.
Добавлено через 28 минут 16 секунд:
Поправил, перезалил архив ( вставил yt-dlp.exe)


Last edited by avalat on 2022-05-27 16:59; edited 1 time in total

[Quote]

    Gvint64
  • 24573
  • Longevity: 4 years 11 months
  • Posts: 621
  • REPUTATION:72

    [+] [-]
avalat, SergeyZV, aa YDown


Last edited by Gvint64 on 2022-07-07 18:42; edited 3 times in total

[Quote]

    avalat
  • 222
  • Longevity: 10 years
  • Posts: 499
  • REPUTATION:127

    [+] [-]
Нашёл способ, как избавиться от этого выделения после вставки из буфера
до и после
- .
Добавил строку в код выше
--------------------
_SUB v
ENVI @ed.SENDMSG=0x0302
ENVI @ed.line=1
....
-------------------
перезалил архив

[Quote]

    Gvint64
  • 24573
  • Longevity: 4 years 11 months
  • Posts: 621
  • REPUTATION:72

    [+] [-]
avalat, aa Добавил ключ:
EXEC* -hide --cmd::400:progr &V=%CurDir%\yt-dlp.exe -i --ignore-errors %ed%
Key Help:
yt-dlp.exe -h > hlp.txt
P.S. Запускал exe - выскакивают 2 чёрных экрана в конце - поэтому полез пробовать ключи - а смотрю скрипт отличается от того что в ехе - в скрипте вроде нет.


Last edited by Gvint64 on 2022-05-30 13:27; edited 1 time in total

[Quote]

    avalat
  • 222
  • Longevity: 10 years
  • Posts: 499
  • REPUTATION:127

    [+] [-]
Gvint64, aa
Ага, понял. Давай добавим.
ay

[Quote]

    SergeyZV
  • 528
  • Longevity: 10 years
  • Posts: 1259
  • REPUTATION:34

    [+] [-]
95337yt-dlp.exe -h > hlp.txt
А смысл?! Тогда уж и нужна возможность добавления ключей.

[Quote]

    Gvint64
  • 24573
  • Longevity: 4 years 11 months
  • Posts: 621
  • REPUTATION:72

    [+] [-]
SergeyZV, А какой смысл вообще в справочных данных?

[Quote]

    SergeyZV
  • 528
  • Longevity: 10 years
  • Posts: 1259
  • REPUTATION:34

    [+] [-]
95339А какой смысл вообще в справочных данных?
В данной проге от avalat нет ни какого смысла.

[Quote]

    Gvint64
  • 24573
  • Longevity: 4 years 11 months
  • Posts: 621
  • REPUTATION:72

    [+] [-]
SergeyZV,Никто и не говорил что справку туда надо встраивать. А посмотреть какие ключи и с чем их едят кому-нибудь пригодится.

[Quote]

    dimo70
  • 17296
  • Longevity: 7 years 4 months
  • Posts: 3796
  • REPUTATION:27

    [+] [-]
  • Location: BG
avalat, спасибо! Мастер PECMD. ay az

_________________
Signed off for violation of forum rules

[Quote]

    avalat
  • 222
  • Longevity: 10 years
  • Posts: 499
  • REPUTATION:127

    [+] [-]
Мастер PECMD - это conty9.
А я так...
Любопытства ради..

[Quote]

    avalat
  • 222
  • Longevity: 10 years
  • Posts: 499
  • REPUTATION:127

    [+] [-]
Пример мини-твикера
.
В архиве неупакованный exe и скрипт
Давно не применял, твики от sergeysvirid - те , которыми пользуюсь для себя
Как пример...
Как пример...


Last edited by avalat on 2024-10-04 09:41; edited 4 times in total

Page 3 of 7


Display posts:    

Current time is: 21-Apr 23:00

All times are UTC + 3


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
You cannot attach files in this forum
You can download files in this forum