[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 2 месяца
  • Сообщений: 453
  • Репутация:127

    [+] [-]
Пример просмотра пароля при удержании кнопки
win
_SUB win,W300H200,
     EDIT e,L30T40W130H30,,,0x01,,18
     EDIT e2,L30T40W130H30,,,,,18
   ITEM it,L180T40W80H30,Просмотр,
   ENVI @it.MSG=0x0201: ENVI @e2=%e%
   ENVI @it.MSG=0x0202: ENVI @e=%e%
_END

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 2 месяца
  • Сообщений: 453
  • Репутация:127

    [+] [-]
BGInfo
Краткая информация о ПК
-------------
Добавил дату последнего запуска ОС и номера диск:раздел
Изменил определение загрузки UEFI/BIOS через bcdedit
Выход по Ctrl+Alt+I

код

//Bginfo (avalat@2024)
ENVI^ forcelocal=1
ENVI &nc=1
FIND --pid &pd,
TEAM MSTR &I1=<1>%&pd%|MSTR &T1=<2>%&pd%|MSTR &nc=<3>%&pd%
SET &ll=-100
WAIT 250
SCRN ScrW,ScrH
CALC l=%ScrW%-275
ww
_SUB ww,L-100T-100W1H1,,
CALL win
_END
_SUB win,L%l%T20W275H700,Bginfo,,%WINDIR%\System32\icn\infope.ico,#10  //:0x282828,
ENVI @win.bkcolor = 0x252525
MENU ,Скрыть,ENVI @win.Visible=0
MENU ,Показать,ENVI @win.Visible=1
MENU -
MENU ,Выход,EXIT 2
ENVI @this.FONT=8:Tahoma
FIND MEM=?,FullR
REGI $HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0\ProcessorNameString,pr
REGI $HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS\BaseBoardManufacturer,mp
REGI $HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS\BaseBoardProduct,mpp
LABE -left ,L10T10W280H12,%mp% %mpp%,,0xFFFFFF#0x252525,8
LABE -left ,L10T27W280H12,%pr%,,0xFFFFFF#0x252525,8
PBAR cpu,L10T44W215H15,0
TIME ,500, CALL proc
CALL proc
LABE -left L10,L10T70W100H15,RAM : %FullR% Mb,,0xFFFFFF#0x252525,
LABE -left L20,L160T70W100H21,,*,0xFFFFFF#0x252525,
LABE -left L11,L10T85W220H15,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ,,0x33FFFF#0x252525,
LABE -left L99,L10T100W215H15,,,0x33FFFF#0x252525,
EXEC=*cmd /c bcdedit /v > %TEMP%\test.txt
READ %TEMP%\test.txt,*,tr
TEAM LPOS lp=winload.,1,%tr%|MSTR ls=%lp%,11,%tr%
FILE %TEMP%\test.txt
FIND $%ls%=winload.efi,ENVI tp=Unified EFI!ENVI tp=Legacy BIOS
IFEX Y:\disk.ver,TEAM READ Y:\disk.ver,1,&te|ENVI @L99=SoftPack: %&te% / RU!ENVI @L99=
ENVI n=1
FDRV *ab DrvAll= *:
FORX * %DrvAll%,CurDsk,
{* FORM V= %CurDsk%
SET AllDrv= %AllDrv% %CurDsk%
TEAM FIND %CurDsk%\=?,f1|IFEX %CurDsk%\=?,f2
CALC #s1=((%f1%-%f2%)*100)/%f1%
IFEX $%f1%<1G,TEAM CALC f1=%f1%/1M#1|ENVI g1=Mb
IFEX $[%f1%>=1G & %f1%<1T],TEAM CALC f1=%f1%/1G#1|ENVI g1=Gb
IFEX $%f1%>=1T,TEAM CALC f1=%f1%/1T#2|ENVI g1=Tb
IFEX $%f2%<1G,TEAM CALC f2=%f2%/1M#1|ENVI g2=Mb
IFEX $[%f2%>=1G & %f2%<1T],TEAM CALC f2=%f2%/1G#1|ENVI g2=Gb
IFEX $%f2%>=1T,TEAM CALC f2=%f2%/1T#2|ENVI g2=Tb
PART -raw list drv %CurDsk%,td
MSTR p1,p2=<1><2>%td%
ENVI aa=[%p1%:%p2%]
IFEX $%p1%<0,ENVI aa=[ -- ]
TEAM CALC m1=%n%*35+90|CALC m2=%n%*35+105
TEAM ENVI tx= LABE -left L%n%,L10T%m1%W108H15,%aa%  %CurDsk%  %f1% %g1%,,0xFFFFFF#0x252525,|%tx%
TEAM ENVI tx= LABE -right L%n%,L108T%m1%W108H15,free %f2% %g2% ,,0xFFFFFF#0x252525,|%tx%
TEAM ENVI p=PBAR Pbar%n%,L10T%m2%W215H8,%s1%|%p%
IFEX $%s1%>90,ENVI @Pbar%n%.percent=%s1%::0x0F1CEA!ENVI @Pbar%n%.percent=%s1%::0x00ff00
IFEX $%f1%=0,ENVI @Pbar%n%.percent=100::0x0ffffd
CALC m5=%m2%-4
FORM td,t=%CurDsk%
ENVI typ=%td% %t%
FIND $%td%=DRIVE_FIXED,IMAG im%n%,L236T%m5%W20H20,#15
FIND $%td%=DRIVE_REMOVABLE,IMAG im%n%,L236T%m5%W20H20,#17
FIND $%td%=DRIVE_USBFLASH,IMAG im%n%,L236T%m5%W20H20,#7
FIND $%td%=DRIVE_USBDISK,IMAG im%n%,L236T%m5%W20H20,#8
IFEX $%t%<=0,IMAG im%n%,L236T%m5%W20H20,#12
FIND $%td%=DRIVE_CDROM,IMAG im%n%,L236T%m5%W20H20,#11
FIND $%td%=DRIVE_RAMDISK,IMAG im%n%,L236T%m5%W20H20,#10
CALC n=%n%+1
}
ver
CALC wi=%m2%+35
ENVI @win.pos=:::%wi%
bio
HKEY Ctrl+Alt+I,TEAM KILL @ww|KILL \
_END
_SUB proc
FIND --pid &pd,
MSTR &I2=<1>%&pd%
MSTR &T2=<2>%&pd%
CALC #&I21=%&I2% - %&I1%
CALC #&T21=%&T2% - %&T1%
CALC &P= 100 - 100 * %&I21% / %&T21% / %&nc% ##1
FIND $%P%=-0.0, SET P=0
IFEX $%P%<0, EXIT
IFEX $%ll%=%P%, EXIT
SET ll=%P%
ENVI @cpu=%&P%;%&P%%%
ENVI @cpu.percent=%&P%::0xff
ENVI &I1=%&I2%
ENVI &T1=%&T2%
IFEX MEMU=?,&MemU
IFEX MEMA=?,&MemA
CALC &vu= 100 - 100 * %MemU% / %MemA% ##1
ENVI @L20=busy: %&vu%%
_END
_SUB ver
CALC m4=%n%*35+90
LABE -left L11,L10T%m4%W220H15,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ,,0x33FFFF#0x252525,
CALC m=%n%*35+85
CALC m2=%m%
ENVI q=1
FORX \Windows\System32\cmd.exe,cm,0,
{ENVI ?v=FVER,%cm%
LSTR r=2,%cm%
LSTR sp=3,%v%
LSTR sp2=6,%v%
MSTR -delims:. c=<3>%v%
FIND $%sp%=5.0,ENVI vv=Windows XP
FIND $%sp%=6.0,ENVI vv=Windows Vista
FIND $%sp%=6.1,ENVI vv=Windows 7
FIND $%sp%=6.2,ENVI vv=Windows 8
FIND $%sp%=6.3,ENVI vv=Windows 8.1
FIND $%sp2%=10.0.1,ENVI vv=Windows 10
FIND $%sp2%=10.0.2,ENVI vv=Windows 11
ENVI ?bit=PEBIT,%r%\Windows\System32
CALC m2=%q%*20+%m%
SITE ?-local ,WriteT,=FTIME,%r%\Windows\bootstat.dat
MSTR v1,v2,v3,v4,v5=<3><2><1><4><5>%WriteT%
ENVI vr=%v1%.%v2%.%v3% %v4%:%v5%
FIND $%r%=X:,TEAM DATE *space0 dat|MSTR d1,d2,d3,d4,d5=<3><2><1><4><5>%dat%|envi vr=%d1%.%d2%.%d3% %d4%:%d5%
ENVI lb=labe -left lab%q%,L10T%m2%W227H20,%r% %vv% %c% (%bit%)            %vr%,,0x20FF20#0x252525,
%lb%
CALC q=%q%+1
}
CALC q=%q%+1
}
_END
_SUB bio
CALC m6=15+%m2%
LABE -left L11,L10T%m6%W220H15,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ,,0x33FFFF#0x252525,
CALC m7=15+%m6%
labe -left ,L10T%m7%W210H20,Boot Firmware Type: %tp%,,0x66FFFF#0x252525,
CALC wi2=%wi%+25
ENVI @win.pos=:::%wi2%
_END
.
скачать Bginfo


Последний раз редактировалось: avalat (2024-02-25 17:48), всего редактировалось 23 раз(а)

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
Gvint64, QRes не нужен. PeCMD может сам определять разрешение экрана.
SCRN ScrW,ScrH `Функция возвращает текущее разрешение экрана (присваивает его переменным ScrW,ScrH)

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 2 месяца
  • Сообщений: 453
  • Репутация:127

    [+] [-]
Пример бегущей строки
win
  _SUB win,W300H200,test,,
  envi n=290
  time  tt,400,team calc n=%n%-4|labe l,L%n%T50W150H24,бегущая строка,,0xFF0000,16
  _END

[Цитировать]

    Gvint64
  • 24573
  • Стаж: 3 года 11 месяцев
  • Сообщений: 568
  • Репутация:63

    [+] [-]
Пример GIF BCD+GRLDR Ctrl+Alt+Z - Выход
CALL hlp
_SUB hlp,W707H346,HelpGIF,,,,, -nocap //-nosysmenu
IMAG Image1,W707H320,%CurDir%\help.gif,,,,
LABE -trans EXIT,L0T326W707H16,EXIT,EXIT 2,0x000000,14
HKEY Ctrl+Alt+Z,EXIT 2
_END

Пример - launcher Ctrl+Alt+Z - Выход
SET ::WM_MOUSEENTER =0x1000
SET ::WM_MOUSELEAVE =0x02A3
ENVI TIMETIPS=3000
CALL lnch
_SUB lnch,W290H74,Launcher,,,,, -nocap //-nosysmenu
IMAG notepad,L0T0W72H72,%curdir%\icon2\notepad.ico,EXEC %windir%\notepad.exe,#0xFF00FF,2
SET TXT=NOTEPAD++
SETHelp notepad %TXT%
IMAG paint,L72T0W72H72,%curdir%\icon2\Paint.NET.ico,EXEC %windir%\system32\mspaint.exe,#0xFF00FF,2
SET TXT=Paint.NET
SETHelp paint %TXT%
IMAG explorer,L144T0W72H72,%curdir%\icon2\Explorer.ico,EXEC %windir%\explorer.exe,#0xFF00FF,2
SET TXT=EXPLORER++
SETHelp explorer %TXT%
IMAG excl,L216T0W72H72,%curdir%\icon2\trtl.gif,EXIT 2,#0xFF00FF,2
SET TXT=EXIT_Launcher
SETHelp excl %TXT%
HKEY Ctrl+Alt+Z,EXIT 2
_END
_SUB SETHelp
SET &_cmd=ENVI @%~1.MSG=%&WM_MOUSEENTER%:TEAM WAIT %_delay% |ENVI @TIPS_VAL.Val=?TIMETIPS|ENVI @@Cur=?CurX;CurY|TIPS ,%TXT%,%TIMETIPS%,1,@AL%CurX%T%CurY%
%&_cmd%
SET &_cmd=ENVI @%~1.MSG=%&WM_MOUSELEAVE%:TEAM ENVI @&wStatus=|TIPS -
%&_cmd%
_END



Последний раз редактировалось: Gvint64 (2021-03-30 23:18), всего редактировалось 3 раз(а)

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 2 месяца
  • Сообщений: 453
  • Репутация:127

    [+] [-]
Пример простенького менеджера разделов (на основе китайского скрипта из PECMD)
dy

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 2 месяца
  • Сообщений: 453
  • Репутация:127

    [+] [-]
Пример настройки нужного значения колёсиком мыши или стрелками клавиатуры
win
_SUB win,W450H130
pbar pp,L10T30W420H35,,
envi @pp.percent=0xDEFBAC
SLID* s,L11T65W419H0,0:100:0,CALL ss,0x20
_END
_SUB ss
labe ,L10T5W300H26,%s% %,,,18
ENVI @pp.percent=%s%:0xDEFBAC:0xBA32E6
_END

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]

Всплывающие подсказки (cделал минимальную дeмку на базе скрипта, выложенного sergeysvirid)

SET ::WM_MOUSEENTER=0x1000
SET ::WM_MOUSELEAVE=0x02A3
CALL @WIN1 %*
_SUB WIN1,W260H120,Подсказки,,,,,
LABE -3D -left Dest0,L10T15W230H20,Всплывающие подсказки,,0x006600##0x00ffff#b0b0b0,14
ITEM ITEM1,L10T48W85H30,ITEM1
ITEM ITEM2,L170T48W70H30,ITEM2
SET TXT2=Это подсказка для первой кнопки ITEM1
SETHelp ITEM1
SET TXT2=А тут подсказка для ITEM2
SETHelp ITEM2
SET TXT2=Подсказка о тексте
SETHelp Dest0
_END
_SUB SETHelp
SET &_cmd=ENVI @%~1.MSG=%&WM_MOUSEENTER%:TEAM WAIT 300|ENVI @@Cur=?CurX;CurY|CALC #CurY=%CurY%-15|TIPS ,%TXT2%,5000,,@L%CurX%T%CurY%
%&_cmd%
SET &_cmd=ENVI @%~1.MSG=%&WM_MOUSELEAVE%:TEAM ENVI @&wStatus=|TIPS -
%&_cmd%
_END
//Примечание: CALC #CurY=%CurY%-15 - рассчёт координат немного выше курсора); TIPS ,%TXT2%,5000... 5000мс - время отображения подсказки 5сек

[Цитировать]

    wert
  • 23213
  • Стаж: 4 года 4 месяца
  • Сообщений: 87
  • Репутация:2

    [+] [-]
привет ребята вот скрипт
DISP W1920 H1080 B32 F60
//IMAG
GROU Gr4,L28T290W630H200,Ccылки на сайт портнеров ,,0xB2170A,12,
IMAG paint,L32T310W162H82,%curdir%\icon2\logo.png,EXEC %windir%\system32\mspaint.exe,#0xB2170A,2
IMAG paint,L222T330W132H42,%curdir%\icon2\streles.jpg,EXEC %windir%\system32\mspaint.exe,#0xB2170A,2
IMAG paint,L402T410W152H62,%curdir%\icon2\kisel.png,EXEC %windir%\system32\mspaint.exe,#0xB2170A,2
IMAG paint,L402T330W122H42,%curdir%\icon2\nelegal.png,EXEC %windir%\system32\mspaint.exe,#0xB2170A,2
IMAG paint,L200T410W152H62,%curdir%\icon2\softpilot.png,EXEC %windir%\system32\mspaint.exe,#0xB2170A,2
IMAG paint,L32T400W122H62,%curdir%\icon2\software.png,EXEC %windir%\system32\mspaint.exe,#0xB2170A,2
IMAG paint,L582T330W32H24,%curdir%\icon2\торент.png,EXEC %windir%\system32\mspaint.exe,#0xB2170A,2
IMAG paint,L582T420W32H24,%curdir%\icon2\торент1.png,EXEC %windir%\system32\mspaint.exe,#0xB2170A,2
_END
как прикрутить адрес портнеров

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 2 месяца
  • Сообщений: 453
  • Репутация:127

    [+] [-]
wert, Если партнёров, то к примеру так
EXEC$ https://usbtor.ru/

[Цитировать]

    Gvint64
  • 24573
  • Стаж: 3 года 11 месяцев
  • Сообщений: 568
  • Репутация:63

    [+] [-]
Может кому пригодится. Пример монтирования-размонтирования с выбором папки диска Х:
CALL Dsk1
_SUB Dsk1,W135H85,,,,-#,,-top
LABE -center bt1,L0T5W130H25,MOUNT DISK X,TEAM CALL SelFol|EXEC  subst.exe X: %FOL%,0xffffff#0x000000,14:Consolas
LABE -center bt2,L0T30W130H25,UMOUNT DISK X,EXEC subst.exe X: /D,0xffffff#0x000000,14:Consolas
LABE -center bt3,L0T55W130H25,E X I T,EXIT 2,0xffffff#0x000000,14:Consolas
_END
_SUB SelFol
BROW FOL,*,PLEASE SELECT FOLDER DIRECTORY
_END


Последний раз редактировалось: Gvint64 (2022-03-02 07:44), всего редактировалось 1 раз

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
Gvint64, в PECMD есть прямая команда монтирования папки: SUBJ X:,D:\MyTools //монтировать папку D:\MyTools как диск X:
Правда, наличие в синтаксисе команды SUBJ запятой будет "сбивать" с толку команду LABE. Поэтому вначале присвоим переменной %&te% начало команды с запятой ( ENVI &&te=SUBJ X:, ), а потом просто используем эту переменную.
CALL Dsk1
_SUB Dsk1,W135H85,,,,-#,,-top
ENVI &&te=SUBJ X:,
LABE -center bt1,L0T5W130H25,MOUNT DISK X,TEAM CALL SelFol|%&te%%FOL%,0xffffff#0x000000,14:Consolas
LABE -center bt2,L0T30W130H25,UNMOUNT DISK X,SUBJ *X:,0xffffff#0x000000,14:Consolas
LABE -center bt3,L0T55W130H25,E X I T,EXIT 2,0xffffff#0x000000,14:Consolas
_END
_SUB SelFol
BROW FOL,*,PLEASE SELECT FOLDER DIRECTORY
_END

[Цитировать]

    Gvint64
  • 24573
  • Стаж: 3 года 11 месяцев
  • Сообщений: 568
  • Репутация:63

    [+] [-]
conty9, aa У меня оба варианта - выложил этот - без разницы и так и так работает. Ещё и батник с выбором буквы диска:
@echo off
color 0f
title mountdisk
cd /d %~dp0
>nul mode 30,4
set bt=X
:m0
cls
echo.   1.MOUNT FOLDER - DISK (X)
echo.   2.UMOUNT DISK
echo.   3.SEL LETTER - DEFAULT X:
:m1
set /P mu=">  1 or 2 or 3: " || goto m1
if %mu%==1 goto m2
if %mu%==2 goto m3
if %mu%==3 goto m4
goto m0
:m2
>nul chcp 1251
for /f "usebackq delims=" %%b in (
    `@"%systemroot%\system32\mshta.exe" "javascript:var objShellApp = new ActiveXObject('Shell.Application');var Folder = objShellApp.BrowseForFolder(0, 'SELECT FOLDER',1, 'root,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}');try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Folder.Self.Path)};catch (e){};close();" ^
    1^|more`
) do set folder=%%b
subst %bt%: "%folder%"
goto m0
:m3
subst %bt%: /D
exit
:m4
cls
set /p bt="SEL LETTER: " || goto m4
goto m0



Последний раз редактировалось: Gvint64 (2022-02-21 23:27), всего редактировалось 2 раз(а)

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
Gvint64, и да, и нет. Твой вариант, во-первых, задействует ситемную утилиту subst.exe, которая, к примеру, часто отсутствует в WinPE. А во-вторых, не всегда будет работать под х64. В общем, если можно обойтись без запуска внешних утилит - лучше обойтись!
Кстати, можно вообще не присваивать переменной начало команды SUBJ, а просто перенести всю команду в подпрограмму выбора папки. И присваивать имена кнопкам (bt1/bt2/bt3), если мы не собираемся с ними ничего делать (скрывать, деактивировать, перемещать) - не нужно (экономия памяти на переменных).
CALL Dsk1
_SUB Dsk1,W135H85,,,,-#,,-top
ENVI &&te=
LABE -center ,L0T5W130H25,MOUNT DISK X,CALL SetFol,0xffffff#0x000000,14:Consolas
LABE -center ,L0T30W130H25,UNMOUNT DISK X,SUBJ *X:,0xffffff#0x000000,14:Consolas
LABE -center ,L0T55W130H25,E X I T,EXIT 2,0xffffff#0x000000,14:Consolas
_END
_SUB SetFol
TEAM BROW &&te,*,PLEASE SELECT FOLDER DIRECTORY|SUBJ X:,%&te%
_END


Последний раз редактировалось: Гость (2022-02-21 23:38), всего редактировалось 1 раз

[Цитировать]

    Gvint64
  • 24573
  • Стаж: 3 года 11 месяцев
  • Сообщений: 568
  • Репутация:63

    [+] [-]
93065В общем, если можно обойтись без запуска внешних утилит - лучше обойтись!
Согласен.

DiskX

ENVI &&ds=X
CALL Dsk1
_SUB Dsk1,W157H127,,,,-#,, -top
ENVI @Dsk1.Font=9:Tahoma
ENVI &&te=
Grou ,L3T0W153H125,Select Disk,,0x000000#0x32cd32
RADI ,L5T20W49H25,DiskX,ENVI &&ds=X,1
RADI ,L55T20W49H25,DiskB,ENVI &&ds=B,0
RADI ,L105T20W49H25,DiskY,ENVI &&ds=Y,0
LABE ,L3T50W152H25,MOUNT DISK,CALL SetFol,0x000000#0x32cd32##0x998877,14:Tahoma //цвет: букв, фона, выделения
LABE ,L3T75W152H25,UMOUNT DISK,SUBJ *%&ds%:,0x000000#0x32cd32##0x998877,14:Tahoma
LABE ,L3T100W152H25,E X I T,EXIT 2,0x000000#0x32cd32##0x998877,14:Tahoma
_END
_SUB SetFol
TEAM BROW &&te,*,PLEASE SELECT FOLDER DIRECTORY|SUBJ %&ds%:,%&te%
IFEX %&te%,EXEC explorer.exe %&ds%:
_END
Выбор папки и добавил выбор буквы диска X,Y,B


Последний раз редактировалось: Gvint64 (2023-08-31 14:13), всего редактировалось 22 раз(а)

Страница 2 из 7


Показать сообщения:    

Текущее время: 20-Апр 16:17

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы