无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: mdyblog
打印 上一主题 下一主题

[更新376#2825]PECMD2012.1.80.13_Win32_64.多窗口多线程.裸机系统2.3.3.1+18M酷M...

    [复制链接]
1171#
发表于 2022-11-1 23:42:22 | 显示全部楼层
Anson4 发表于 2022-11-1 23:32
是的,试过了。

没加这两句才会展开变量吧
set^ EnviMode=1
set^ ForceLocal=1
回复

使用道具 举报

1172#
发表于 2022-11-8 18:19:09 | 显示全部楼层
泮安宁 发表于 2022-11-8 10:19
pecmd可以获取网页内容吗,就是那种纯文字的网页,获取某段内容,例如下面这样的
https://gitee.com/btwis ...

exec -err+ -hide =*wget.exe --header="Cookie: veritas_main" https://gitee.com/btwise/OpenCore_NO_ACPI/raw/master/README.md --no-check-certificate -O"%temp%\a.txt" -o"%temp%\%random%.tmp"
read "%temp%\a.txt",*r,a
mess. [%a%]










回复

使用道具 举报

1173#
发表于 2022-11-24 20:44:33 | 显示全部楼层
本帖最后由 527104427 于 2022-11-29 21:46 编辑

整理了几个BUG:

bug1:关闭窗口时,kill *force *tree *%__pid% 偶尔会无规律乱杀进程,有时杀QQ,有时杀explorer,有时会注销。出问题没什么规律,有时会,大部分时间不会。(exec  -timeout:*1000  也会杀错子进程,机率比 kill *tree要大)
bug2:选择最后一行,右键---重置,此时按键盘上的向下键无反应,不能向下选择
bug3:选择最后一行,右键---重置,此时会有两个选择项,set @tabl.sel=1不会清除原先的选择项
bug4:右键---tips,窗口会假死,判断是thread和tips -dummy有冲突
bug5:纯键盘操作,按TAB键将焦点切换到表格,此时按键盘上的向下键无反应,不能向下选择



测试代码如下:

#code=950T936
set^ EnviMode=1
set^ ForceLocal=1
set$ nl=0d 0a
set$ tab=09
call @aaa

_sub aaa,w489 h574,aaa,kill *force *tree *%__pid%,,,,
        item item1,l59 t469 w60 h30,aa,
        item item2,l163 t470 w60 h30,bb,
        set Title=+60:a%tab%+100:b%tab%*3800:c
        tabl tabl,l16 t13 w451 h419,%Title%,a%tab%b%tab%c%nl%a%tab%b%tab%c%nl%a%tab%b%tab%c%nl%a%tab%b%tab%c%nl%a%tab%b%tab%c%nl%a%tab%b%tab%c%nl%a%tab%b%tab%c%nl%,0x4000400
        set @tabl.sel=1
        set @tabl.msg=_0x0204: call @--popmenu bbb
_end

_sub xxx
        tips -dummy r*-20b*-20
        tips 提示:,完成!,10000000,1,Shell32.dll#8
        mess 没死机
_end

_sub yyy
        set @tabl.sel=1
_end

_sub bbb
        menu ,tips, thread* call xxx
        menu ,重置, call yyy
_end



回复

使用道具 举报

1174#
发表于 2022-11-28 11:41:32 | 显示全部楼层
weconty 发表于 2022-11-28 00:36
如何通过按下鼠标左键使托盘菜单可用?
------------------
SET ::WM_LBUTTONDOWN=0x0201

ENVI^ EnviMode=1
ENVI^ ForceLocal=1
SET ::WM_TRAYNOTIFY=1109
SET ::WM_LBUTTONDOWN=0x0201
call @winM

_SUB WINM,#
        ENVI @this.MSG=_%WM_TRAYNOTIFY%::&&wp,&&lp, CALL DoMenu %wp% %lp%
        CALL SetTray
_END

_SUB SetTray
        TIPS* test,,,,shell32.dll#94
_END

_SUB DoMenu
        IFEX $%WM_LBUTTONDOWN%=%2, CALL @--popmenu MyMenu1
_END

_SUB MyMenu1
        MENU ,Information,CALL INFO
        MENU -
        MENU ,Help,CALL @Help
        MENU -
        MENU ,Exit,KILL \
_END

回复

使用道具 举报

1175#
发表于 2022-11-28 20:28:44 | 显示全部楼层
Anson4 发表于 2022-11-28 20:11
请教5大,磁盘分区整数G计算的公式是什么?对于 FAT32 和 NTFS 文件系统的计算公式是否一样?

https://pecmd.net/thread-21.htm
回复

使用道具 举报

1176#
发表于 2022-11-29 21:44:37 | 显示全部楼层
Anson4 发表于 2022-11-28 22:35
谢谢!
这个有区分NTFS和FAT32的,好像在哪里见过你的DiskPartGUI没有区分。

整G计算,在“计算器”中也有,收录在M大的示例包中。
年长月久,我也想不起来怎么没有区分NTFS和FAT32了,你试试呗。
回复

使用道具 举报

1177#
发表于 2022-11-29 21:46:41 | 显示全部楼层

exec  -timeout:*1000  也会杀错子进程,机率比 kill *tree要大
回复

使用道具 举报

1178#
发表于 2022-11-29 22:53:21 | 显示全部楼层
Anson4 发表于 2022-11-29 22:38
示例中收录的没有该功能,下面的链接里倒是有,只是那是压缩版。
https://pecmd.net/thread-30.htm



百度了一下,ntfs 和 fat32 是同一种算法:https://jingyan.baidu.com/article/454316ab1fc40af7a7c03a0b.html

  • 最精确硬盘分区的算法如下: 硬盘一般有255磁头,63扇区,故每柱面大小为:512 byte x 255 x 63=8225280 bytes =7.84423828125 MB 如果要分40 GB,那么要40x1024 MB=40960 MB 需要柱面数为40960÷7.84423828125=5221.66 取整数既为5222个柱面 应分M数为5222x7.84423828125=40962.6123046875 MB 不管小数点后面几位都进1,也就是40963 MB,windows就认为是40 GB了。

  • 这个方法NTFS和FAT32通用。


回复

使用道具 举报

1179#
发表于 2022-11-29 23:29:39 | 显示全部楼层
本帖最后由 527104427 于 2022-11-30 08:44 编辑
Anson4 发表于 2022-11-29 22:38
示例中收录的没有该功能,下面的链接里倒是有,只是那是压缩版。
https://pecmd.net/thread-30.htm

以前的代码我自己也看不懂了,重新写了一个:

https://jingyan.baidu.com/article/454316ab1fc40af7a7c03a0b.html

set^ EnviMode=1
set^ ForceLocal=1
call IntCalc ret 12G  //返回值(以M为单位)       待转换值(可带单位,如K、M、G、T)
mess. [%ret%M]

_sub IntCalc
        set a=( 255 * 63 * 512 / 1M )         //每柱面大小:255磁头 x 63扇区 x 512字节每扇区,以M为单位
        ^calc b=frac[ %~2 / 1M / %a% ]   //柱面数(小数部分),以M为单位
        ^calc #c=%~2 / 1M / %a%          //柱面数:所需大小 ÷ 每柱面大小
        ifex $%b%>0, calc c=%c% + 1     //柱面数有小数则进1
        calc d=frac[ %c% * %a% ]           //实际大小(小数部分)
        calc #e=%c% * %a%                  //实际大小:柱面数 x 每柱面大小
        ifex $%d%>0, calc e=%e% + 1    //实际大小有小数则进1
        set-ret %1=%e%
_end


回复

使用道具 举报

1180#
发表于 2022-12-3 16:42:18 | 显示全部楼层



有个比较严重的BUG:拖动滑块不会执行命令

call @WIN1
_SUB WIN1,W455H187,a,
    SLID SLID1,L35T53W378H30,0:100,ENVI @LABE1=%SLID1%,0x40
    LABE LABE1,L58T98W156H30,LABE1,,
_END




回复

使用道具 举报

1181#
发表于 2022-12-16 21:03:58 | 显示全部楼层


show也有bug

盘符不能为汉字了

show 1#1,毛:
fdrv -link? a,b,c=毛:
fdrv *vol d,e,f,g,h,i=毛:
mess. [%a%]   [%b%]   [%c%]   [%d%]   [%e%]   [%f%]   [%g%]   [%h%]   [%i%]












回复

使用道具 举报

1182#
发表于 2023-1-14 18:49:03 | 显示全部楼层
hhh333 发表于 2023-1-14 13:17
5大,批处理调用pecmd后如何在pecmd中设置退出代码,对批处理传递errorlevel


//设置errorlevel为0
TEAM EXIT= 0| EXIT

//设置errorlevel为1
TEAM EXIT= 1| EXIT


回复

使用道具 举报

1183#
发表于 2023-1-14 18:50:12 | 显示全部楼层
2011wyy 发表于 2023-1-14 16:27
请问老大,编辑内置资源.EXE 在哪可下载?
我想把 PECMD.exe.437.lang (英文语言包)搞进 pecmd.exe里, ...

替换“RC数据\301\2052”
回复

使用道具 举报

1184#
发表于 2023-1-14 19:25:14 | 显示全部楼层
2011wyy 发表于 2023-1-14 18:54
请问具体如何操作?

文件后缀名称都不一样的,大小也差距很大!




1.



2.



3.



4.






回复

使用道具 举报

1185#
发表于 2023-1-14 20:40:42 | 显示全部楼层
2011wyy 发表于 2023-1-14 20:17
谢谢,这个搞定了,替换后,PECMD体积增大了不小,X64的从1.13M变成了1.96M

另请指点一下,如何英化  ...


回复

使用道具 举报

1186#
发表于 2023-1-14 22:02:48 | 显示全部楼层
2011wyy 发表于 2023-1-14 21:15
好像改这里,没效果,显示还是中文

没办法,用winhex搜了一下,也无果。
回复

使用道具 举报

1187#
发表于 2023-1-15 12:26:11 | 显示全部楼层
hhh333 发表于 2023-1-14 22:35
老大,好像不行啊,运行后%errorlevel%永远是1 (可能是我的系统问题,环境变量中有errorlevel,我再试一 ...

写个最简单的代码验证一下就知道了:


回复

使用道具 举报

1188#
发表于 2023-1-30 19:44:39 | 显示全部楼层
本帖最后由 527104427 于 2023-1-30 20:31 编辑
microlaf 发表于 2023-1-30 17:57
FILE命令怎么能把目录下的文件及子目录移动到本身下新目录下?
实例:
%programs%程序目录已有若干快捷方 ...

抱歉,好友太多了,加不下。可加QQ(备注论坛ID即可)。

set^ EnviMode=1
set^ ForceLocal=1
set mydir=AAA\BBB
//dir myfiles /s /a-d "%^programs%\*"
forx *off /s "%^programs%\*",myfiles,0,*
mdir "%^programs%\%mydir%\"
forx *nl myfiles,onefiles,
{
        rpos* * pos=\,1,onefiles
        ifex $%pos%>0,
        {
                mstr * str=1,%pos%,onefiles
                mdir "%^programs%\%mydir%\%str%"
        }
        file "%^programs%\%onefiles%"->"%^programs%\%mydir%\%onefiles%"
}
mess= ok







回复

使用道具 举报

1189#
发表于 2023-2-12 13:22:41 | 显示全部楼层
pkone 发表于 2023-2-12 00:10
我最近在学习软件绿化,需要一款启动器,它主要就是负责:
1,在软件运行前,需要导入注册表、复制文件、 ...

fdir dir=%MyName%
fnam tar=%MyName%
envi wcs="%dir%\%tar%.wcs"
ifex ! %wcs%, writ %wcs%,$+0,help
load %wcs%


回复

使用道具 举报

1190#
发表于 2023-2-12 20:28:55 | 显示全部楼层
泮安宁 发表于 2023-2-12 19:13
5大,请教个问题
TIPS 正在安装,%名称%,50000,1,@L1920T1020
THREAD* DEVI C:\a\*.inf


date time1 uptime
forx循环,   //替换成具体命令
{
    ......   //替换成具体命令
    THREAD* team TIPS 正在安装,%名称%,50000,1,@L1920T1020| DEVI C:\a\*.inf   //多个tips同时出现,估计会被挤掉,剩最后一个
}
wait -thread
date time2 uptime
calc time=(%time2% - %time1%) / 1000#2
mess. [总共用时 %time% 秒]




回复

使用道具 举报

1191#
发表于 2023-2-13 12:10:46 | 显示全部楼层
泮安宁 发表于 2023-2-12 23:06
THREAD* team TIPS 正在安装,%名称%,50000,1,@L1920T1020| DEVI C:\a\*.inf   不能安装
team TIPS 正在 ...

亮出你的代码来,我给你改  改
回复

使用道具 举报

1192#
发表于 2023-2-19 23:50:37 | 显示全部楼层
Anson4 发表于 2023-2-19 23:41
请教一下红毛老大,下面写入注册表的语句,用REGI指令怎么实现?

REGI --16 @HKLM\SYSTEM\MountedDevices\\#\DosDevices\W:=4D 83 DE 91 00 00 10 00 00 00 00 00
回复

使用道具 举报

1193#
发表于 2023-2-23 22:38:46 | 显示全部楼层

我记得CGI源码有VSS相关的代码啊
回复

使用道具 举报

1194#
发表于 2023-2-28 18:26:16 | 显示全部楼层
hhh333 发表于 2023-2-28 15:50
M大还是神隐状态吗?
希望可以给MOUN加一个开关,可以选择调用新老驱动进行挂载

moun可以挂载VHD、UDM、WIM、ISO等等,不知道是哪方面的?
我猜你是说挂WIM,貌似只有挂WIM才有新老驱动之说。
回复

使用道具 举报

1195#
发表于 2023-3-11 12:19:12 | 显示全部楼层
Bruce65 发表于 2023-3-11 05:33
以兆比特为单位的大小

PECMD正在计算硬盘的大小


SIZE iSize=C:\Windows\System32\calc.exe
CALC Size=%iSize% / 1M
MESS. [%Size%]M



你还是说外语吧,翻译成汉语看不懂




回复

使用道具 举报

1196#
发表于 2023-3-11 18:49:20 | 显示全部楼层
Bruce65 发表于 2023-3-11 16:36
精彩绝伦!
谢谢! 这就是我想要的!

CALC #Size=%iSize% / 1M
回复

使用道具 举报

1197#
发表于 2023-3-21 08:56:57 | 显示全部楼层
ecloud 发表于 2023-3-21 00:37
请教M大,单独再开一个pecmd线程的命令是什么,为了不和当前运行的pecmd程序冲突

exec  -incmd  =pecmd mess  ok
回复

使用道具 举报

1198#
发表于 2023-4-7 20:37:34 | 显示全部楼层
本帖最后由 527104427 于 2023-4-7 20:43 编辑

这个问题已经被修正了。

还有几个问题一并反馈了:

1.DTIM控件,鼠标移到下图位置(三角图标)处,上面的三角图标会消失。
call @WIN1
_SUB WIN1,W287H254,新窗口1,
    DTIM DTIM1,L41T76W100H24,,,0x40
_END



2.show分配盘符不能为汉字了:
show 1#1,毛:
fdrv -link? a,b,c=毛:
fdrv *vol d,e,f,g,h,i=毛:
mess. [%a%]   [%b%]   [%c%]   [%d%]   [%e%]   [%f%]   [%g%]   [%h%]   [%i%]



3.disp 命令不加 -confirm 参数时,执行后也会有14秒延时,导致下一个命令不能立即执行。
比如以下命令:
disp w1600 h900
mess ok
要等disp完成后14秒,才会弹出ok窗口



回复

使用道具 举报

1199#
发表于 7 天前 | 显示全部楼层
泮安宁 发表于 2024-4-27 17:59
可以指定大端序小端序吗

举个例子
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-4 08:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表