avalat
- Стаж: 9 лет 9 месяцев
- Сообщений: 465
- Репутация:127[+] [-]
|
Извлечение иконок в папку из *.exe *.dll *.icl IconsExt Добавлен ресурс 11 в EXEDATA (ResHacker.exe)кодSCRN ScrW,ScrH calc t=%ScrH%-250 //меняем координату ENVI ext=%Temp%\rs\ResHacker.exe -extract %ic%,%fd%\icon_%fn%\MyRes.rc,IconGroup,, // <ext> - команда извлечения MDIR %Temp%\rs //создаём папку PUTF -wait %Temp%\rs\ResHacker.exe,,%MyName%#11|EXEDATA //из ресурса 11 извлекаем в %Temp%\rs - ResHacker.exe ENVI v= Перетащите файл *.exe *.dll *icl win _SUB win,L50T%t%W200H100,IconsExt,x, ENVI @win.POS=::::4 //поверх всех окон EDIT+ ,L-10T1W1H1, //просто захотел избавиться от курсора в окне (не совсем помогает) MEMO+-| ic,L1T1W192H66,%v%,,0x208 ENVI @ic.MSG=0x0233::,,start // при перетаскивании файла выполнить start ENVI @ic.MSG=0x0203::,,delF // при двойном клике - delF _END _SUB start FILE %Temp%\rs\ResHacker.log // очищаем лог FIND $%ic%=%v%,ENVI @ic=%v% TEAM FDIR fd=%ic%|FEXT fx=%ic%|FNAM fn=%ic% IFEX %fd%\icon_%fn%,FILE %fd%\icon_%fn% FIND [$%fx%=exe | $%fx%=dll | $%fx%=icl],EXEC=%ext%!ENVI @ic=%v% //если файл с этим расширением - запускаем команду извлечения (3 строка) READ %Temp%\rs\ResHacker.log,0,str //читаем последнюю строку лога и если ....ниже FIND $%str%=Команды выполнены,TEAM ENVI @ic= Иконки извлечены в папку\n icon_%fn%\n\n\n Удалить папку - двойной клик|FILE %fd%\icon_%fn%\MyRes.rc|findF _END _SUB findF //проверяем папку на кол-во иконок FORX %fd%\icon_%fn%\*.ico,k,0, IFEX $%k%=0,TEAM ENVI @ic=Иконок не найденo|FILE %fd%\icon_%fn%\ IFEX $%k%>0,TEAM renF|EXEC explorer.exe %fd%\icon_%fn%\ //если больше 0, открываем папку _END _SUB delF FILE %fd%\icon_%fn%\ ENVI @ic= Папка с иконками удалена\n ( icon_%fn% ) _END _SUB renF //переименование иконок - вместо Icon_1.ico ,Icon_2.ico ... - просто 1.ico , 2.ico ... FORX %fd%\icon_%fn%\*.ico,ff,0,TEAM SED af=0,Icon_, ,%ff%|FILE %ff%>>%af% _END _SUB x // при выходе удаляем папку с ResHacker.exe FILE %Temp%\rs\ _END
Последний раз редактировалось: avalat (2022-03-27 08:08), всего редактировалось 1 раз
|
Отправлено: 27-Май-2022 13:19
(спустя 2 месяца 26 дней)
avalat
- Стаж: 9 лет 9 месяцев
- Сообщений: 465
- Репутация: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)
Последний раз редактировалось: avalat (2022-08-18 20:35), всего редактировалось 12 раз(а)
|
SergeyZV
- Стаж: 9 лет 8 месяцев
- Сообщений: 1259
- Репутация:34[+] [-]
|
avalat, youtube-dl.exe отстой. Используй yt-dlp.exe.
|
avalat
- Стаж: 9 лет 9 месяцев
- Сообщений: 465
- Репутация:127[+] [-]
|
Gvint64, Ага, понял. Давай добавим.
|
Отправлено: 30-Май-2022 14:21
(спустя 1 час 6 минут)
SergeyZV
- Стаж: 9 лет 8 месяцев
- Сообщений: 1259
- Репутация:34[+] [-]
|
95337yt-dlp.exe -h > hlp.txt А смысл?! Тогда уж и нужна возможность добавления ключей.
|
Gvint64
- Стаж: 4 года 6 месяцев
- Сообщений: 620
- Репутация:71[+] [-]
|
SergeyZV, А какой смысл вообще в справочных данных?
|
SergeyZV
- Стаж: 9 лет 8 месяцев
- Сообщений: 1259
- Репутация:34[+] [-]
|
95339А какой смысл вообще в справочных данных? В данной проге от avalat нет ни какого смысла.
|
Gvint64
- Стаж: 4 года 6 месяцев
- Сообщений: 620
- Репутация:71[+] [-]
|
SergeyZV,Никто и не говорил что справку туда надо встраивать. А посмотреть какие ключи и с чем их едят кому-нибудь пригодится.
|
Отправлено: 05-Июл-2022 21:18
(спустя 1 месяц 5 дней)
Страница 3 из 7
Текущее время: 21-Ноя 15:07
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|