无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: mdyblog
打印 上一主题 下一主题

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

    [复制链接]
15601#
 楼主| 发表于 2021-1-27 13:27:42 | 只看该作者
回复

使用道具 举报

15602#
发表于 2021-1-28 15:55:07 | 只看该作者
本帖最后由 dos时代菜鸟 于 2021-1-28 16:18 编辑

用最新 测试版 210126  ,列表有问题
dll 版 下拉列表框 有显示问题。





不能获取 单选列表 鼠标所选, 210112B 没问题。
Script_x.7z (18.87 KB, 下载次数: 10)

点评

出问题的应该是这两行代码冲突了,你排查下吧。我把这两行屏蔽了就没问题了。 -------------------------------------------------- 另外你这里好像表的属性值有问题 0x10000只能选择(加亮)一行 0x800  详情 回复 发表于 2021-1-28 18:17
回复

使用道具 举报

15603#
发表于 2021-1-28 18:17:43 | 只看该作者
dos时代菜鸟 发表于 2021-1-28 15:55
用最新 测试版 210126  ,列表有问题
dll 版 下拉列表框 有显示问题。
出问题的应该是这两行代码冲突了,你排查下吧。我把这两行屏蔽了就没问题了。
  1. ENVI @parts.MSG=0x0201: team call fresh_buts parts

  2. ENVI @parts.MSG=0x1000: Team Envi @parts.Sel=?nX|envi @parts.sel=%nX%;0|Find $%chk_type%=part,Envi @parts.sel=%part_n%;1
复制代码

--------------------------------------------------
另外你这里好像表的属性值有问题
  1. tabl  disks, L11 T30 W575 H128,%disk_title%,,0x90800     // -color:###%color_sele% 不知为何此色彩设置会在鼠标抬起时才生效,所以放弃了。
复制代码
0x10000只能选择(加亮)一行
0x80000禁用行选择
这两个是不是有冲突? 我乱猜的

点评

第一段代码,是针对 pecmd 的表格控件 ,以前有问题,鼠标离开后 再 悬停 会乱选,所以,加了个 鼠标捕捉。 第二段,如果设置 行选择,就会选择多行的吧。  详情 回复 发表于 2021-1-28 20:52
这个代码 是成型的,用以前的 版本 都没问题呀。 我再研究下。  详情 回复 发表于 2021-1-28 20:47
演示 代码简单点吧。 能说明问题即可。 太长 , 没发看。  详情 回复 发表于 2021-1-28 19:52
回复

使用道具 举报

15604#
 楼主| 发表于 2021-1-28 19:52:47 | 只看该作者
红毛樱木 发表于 2021-1-28 18:17
出问题的应该是这两行代码冲突了,你排查下吧。我把这两行屏蔽了就没问题了。

------------------------ ...

演示 代码简单点吧。 能说明问题即可。
太长 , 没发看。
回复

使用道具 举报

15605#
发表于 2021-1-28 20:47:01 | 只看该作者
红毛樱木 发表于 2021-1-28 18:17
出问题的应该是这两行代码冲突了,你排查下吧。我把这两行屏蔽了就没问题了。

------------------------ ...

这个代码 是成型的,用以前的 版本 都没问题呀。
我再研究下。
回复

使用道具 举报

15606#
发表于 2021-1-28 20:52:53 | 只看该作者
本帖最后由 dos时代菜鸟 于 2021-1-28 21:29 编辑
红毛樱木 发表于 2021-1-28 18:17
出问题的应该是这两行代码冲突了,你排查下吧。我把这两行屏蔽了就没问题了。

------------------------ ...

第一段代码,是针对 pecmd 的表格控件 ,以前有问题,鼠标离开后 再 悬停 会乱选,所以,加了个 鼠标捕捉。
刚测试了一下,如果屏蔽此行,确实 问题消失了。看来新版 测试版,已经考虑了 这个问题,自行处理了,不用改再用这行来补救了。否则可能产生了冲突。


第二段,如果设置 行选择,就会选择多行的吧。
回复

使用道具 举报

15607#
发表于 2021-1-28 21:56:13 | 只看该作者
本帖最后由 dos时代菜鸟 于 2021-1-28 21:59 编辑

关于 dll 版 list 控件失效问题:
如图 左侧 是 dll 版 的效果,list 控件不能下拉,
右侧为 exe 版的效果,可以下拉。

测试环境 win10


DLL版.x86.7z (1.37 MB, 下载次数: 6)

点评

这应该是正常的吧,64位系统要指定-h,还要限定下拉高度: call @win_x _Sub win_x,W200 h100,测试,exit,shell32.dll#187,0,,-top list -h list_test, L5 T5 W50 H200,1|2|3|4|5|6|7,,3 _End 说明书上  详情 回复 发表于 2021-1-29 07:50
回复

使用道具 举报

15608#
发表于 2021-1-29 07:50:02 | 只看该作者
本帖最后由 527104427 于 2021-1-29 18:02 编辑
dos时代菜鸟 发表于 2021-1-28 21:56
关于 dll 版 list 控件失效问题:
如图 左侧 是 dll 版 的效果,list 控件不能下拉,
右侧为 exe 版的效 ...

这应该是正常的吧,64位系统要指定-h,还要限定下拉高度:

call @win_x
_Sub win_x,W200 h100,测试,exit,shell32.dll#187,0,,-top
        list -h list_test, L5 T5 W50 H200,1|2|3|4|5|6|7,,3
_End



说明书上有的,本帖一楼也有说明。反正list一律加-h,不管什么系统,这就避免问题。





点评

原来如此,明白了,还要设置 0x100  详情 回复 发表于 2021-1-30 17:04
加 -h 也不行,这是 dll 版 的通病。  详情 回复 发表于 2021-1-29 12:27
回复

使用道具 举报

15609#
发表于 2021-1-29 12:27:27 | 只看该作者
527104427 发表于 2021-1-29 07:50
这应该是正常的吧,64位系统要指定-h,还要限定下拉高度:

call @win_x

加 -h 也不行,这是  dll 版 的通病。

点评

高度指定没有?  详情 回复 发表于 2021-1-29 18:01
回复

使用道具 举报

15610#
发表于 2021-1-29 18:15:56 | 只看该作者
感谢楼主发布!
回复

使用道具 举报

15611#
发表于 2021-1-30 13:44:07 | 只看该作者
M大,使用PECMD怎么计算两次%curdate%的时间差?

点评

// 单位为 ms DATE SysDate1ms uptime WAIT 100 DATE SysDate2ms uptime CALC #ms1=%SysDate2ms% - %SysDate1ms% //MESS. %ms1% //下面计时更准 // 单位为 0.1us 0.0001ms DATE SysDate1utc ut  详情 回复 发表于 2021-1-30 14:08
回复

使用道具 举报

15612#
 楼主| 发表于 2021-1-30 14:08:37 | 只看该作者
lafter 发表于 2021-1-30 13:44
M大,使用PECMD怎么计算两次%curdate%的时间差?

// 单位为 ms
DATE  SysDate1ms  uptime
WAIT 100
DATE  SysDate2ms  uptime

CALC #ms1=%SysDate2ms% - %SysDate1ms%
//MESS. %ms1%


//下面计时更准
// 单位为 0.1us  0.0001ms
DATE  SysDate1utc  utc
WAIT 100
DATE  SysDate2utc  utc

CALC #utc=%SysDate2utc% - %SysDate1utc%
CALC us=%utc% / 10#1
CALC ms=%utc% / 10000#4
MESS  %ms1%\n %utc%utc   %us%us  %ms%ms


点评

嗯,好用。 还有个关于日期的,默认DATE 输出如:2021-1-30|6|14:28:38.532 如果单独取日期、周几、时间用什么参数?  详情 回复 发表于 2021-1-30 14:55

评分

参与人数 1无忧币 +5 收起 理由
lafter + 5 赞一个!

查看全部评分

回复

使用道具 举报

15613#
发表于 2021-1-30 14:55:06 | 只看该作者
mdyblog 发表于 2021-1-30 14:08
// 单位为 ms
DATE  SysDate1ms  uptime
WAIT 100

嗯,好用。
还有个关于日期的,默认DATE 输出如:2021-1-30|6|14:28:38.532
如果单独取日期、周几、时间用什么参数?

点评

PECMD HELP DATE ■子项: y Mon d w h min s ms ws[1] ds Freq Counter 分别指 年 月 日 星期 时 分 秒 毫秒 周数┃ ┃ │ │ 年内第几天 计数频率 计数器。也可直接用中文年 月 日 星期 时 分 秒 毫  详情 回复 发表于 2021-1-30 14:56
回复

使用道具 举报

15614#
 楼主| 发表于 2021-1-30 14:56:08 | 只看该作者
lafter 发表于 2021-1-30 14:55
嗯,好用。
还有个关于日期的,默认DATE 输出如:2021-1-30|6|14:28:38.532
如果单独取日期、周几、时 ...

PECMD  HELP DATE

■子项:   y Mon d w h min s ms ws[1] ds Freq Counter 分别指 年 月 日 星期 时 分 秒 毫秒 周数┃
┃    │    │  年内第几天 计数频率 计数器。也可直接用中文年 月 日 星期 时 分 秒 毫秒 周[1] 天。不指定子项┃
┃    │    │  则为全部。子项gmt为GMT秒数(1970.1.1计时),uptime为开机毫秒数,utc为UTC时间,以100纳秒为 ┃
┃    │    │  单位,从1601.1.1计时。uptimens为开机纳秒数。Counter为高精定时器计数。可以多个子项。      

点评

这个结果有点奇怪: SET &A=143.57 CALC &&B=%&A% MESS. [%&B%] //[143.5699999999999] 按理说结果应该是两位小数,可事实却是13位,不知道是BUG不  详情 回复 发表于 2021-2-10 18:07
[attachimg]474241[/attachimg] 感谢M大。这个怎么让它出15:06:21类似这样的效果。调用cmd的time? 另外请教一下,关于退出子过程(比如名为 AAA)命令是单独的 EXIT _SUB还是加上名字:EXIT _SUB AAA。假如当  详情 回复 发表于 2021-1-30 15:35

评分

参与人数 1无忧币 +5 收起 理由
lafter + 5

查看全部评分

回复

使用道具 举报

15615#
发表于 2021-1-30 15:35:54 | 只看该作者
mdyblog 发表于 2021-1-30 14:56
PECMD  HELP DATE

■子项:   y Mon d w h min s ms ws[1] ds Freq Counter 分别指 年 月 日 星期 时  ...



感谢M大。这个怎么让它出15:06:21类似这样的效果。调用cmd的time?

另外请教一下,关于退出子过程(比如名为 AAA)命令是单独的 EXIT _SUB还是加上名字:EXIT _SUB AAA。假如当前配置文件为b.ini,执行到一半条件判断需要退出是:EXIT FILE    /   EXIT    /   EXIT b.ini           这三种格式哪个对?
EXIT 命令能出现在TEAM组合命令中吗?

点评

自己组合一下 ENVI a=%h%:%min%:%s% 退出_SUB AAA 只需要在其中EXIT _SUB 退出b.ini 只需要在其中EXIT FILE 具体看EXIT帮助文档里都有的  详情 回复 发表于 2021-1-30 16:56
回复

使用道具 举报

15616#
发表于 2021-1-30 16:54:33 | 只看该作者

M大,网盘里1.88版怎么没了呢?
回复

使用道具 举报

15617#
发表于 2021-1-30 16:56:16 | 只看该作者
lafter 发表于 2021-1-30 15:35
感谢M大。这个怎么让它出15:06:21类似这样的效果。调用cmd的time?

另外请教一下,关于退出子过 ...

自己组合一下
ENVI a=%h%:%min%:%s%


退出_SUB AAA
只需要在其中EXIT _SUB

退出b.ini
只需要在其中EXIT FILE

具体看EXIT帮助文档里都有的

点评

我也看帮助。但以前没用过啊,总有搞不明白的地方。谢谢解答。  详情 回复 发表于 2021-1-30 17:08
回复

使用道具 举报

15618#
发表于 2021-1-30 17:04:37 | 只看该作者
527104427 发表于 2021-1-29 07:50
这应该是正常的吧,64位系统要指定-h,还要限定下拉高度:

call @win_x

原来如此,明白了,还要设置  0x100
回复

使用道具 举报

15619#
发表于 2021-1-30 17:08:51 | 只看该作者
红毛樱木 发表于 2021-1-30 16:56
自己组合一下
ENVI a=%h%:%min%:%s%

我也看帮助。但以前没用过啊,总有搞不明白的地方。谢谢解答。

回复

使用道具 举报

15620#
发表于 2021-1-30 17:59:25 | 只看该作者
本帖最后由 9001 于 2021-1-30 18:01 编辑

很奇怪的问题,请M大及诸位过路大神看是怎么回事。


  1. ENVI Adrv_Path=%temp%\Adrv__%random%

  2. FORX %CurDir%\*.7z,MyDrv,1,EXEC =!"%ProgramFiles%\7-Zip\7z.exe" x "%MyDrv%" -y -aos -o"%Adrv_Path%"
  3. //IFEX %Adrv_Path%\,TEAM DEVI *sub  %Adrv_Path%,Net|WAIT 100  `这一句是OK的
  4. IFEX %Adrv_Path%,TEAM EXEC =!%windir%\system32\dpinst /s /path "%Adrv_Path%" |WAIT 100 `这一句会出问题
复制代码
当前目录下有7z驱动包时,IFEX两句表现都是正常的。
当目录下没有7z包时,DEVI一句OK,最下面一句会弹出dpinist页面,需要点击一个“确定”才能继续往下进行。
换成下面一句照旧:
  1. IFEX %CurDir%\*.7z,TEAM EXEC =!%windir%\system32\dpinst /s /path "%Adrv_Path%" |WAIT 100
复制代码
按说不存在的话,不执行dpinst才对。
哪位帮忙分析一下,3x

点评

3x! 写法有效。下面红毛大的写法也可以。  发表于 2021-2-14 23:21
IFEX %CurDir%\*.7z,TEAM EXEC =*%windir%\system32\dpinst /s /path "%Adrv_Path%" |WAIT 100  详情 回复 发表于 2021-1-30 23:35
回复

使用道具 举报

15621#
发表于 2021-1-30 23:35:13 | 只看该作者
9001 发表于 2021-1-30 17:59
很奇怪的问题,请M大及诸位过路大神看是怎么回事。

IFEX %CurDir%\*.7z,TEAM EXEC =*%windir%\system32\dpinst /s /path "%Adrv_Path%" |WAIT 100

点评

3X! 有效!  发表于 2021-2-14 23:22
感谢参与解答!  发表于 2021-1-31 19:09
最好还是统一养成习惯,用-wait -hide  详情 回复 发表于 2021-1-30 23:41

评分

参与人数 1无忧币 +5 收起 理由
lafter + 5 赞一个!

查看全部评分

回复

使用道具 举报

15622#
发表于 2021-1-30 23:41:05 | 只看该作者
conlin888 发表于 2021-1-30 23:35
IFEX %CurDir%\*.7z,TEAM EXEC =*%windir%\system32\dpinst /s /path "%Adrv_Path%" |WAIT 100



最好还是统一养成习惯,用-wait -hide

点评

红毛老大,怎么判断自定义的窗口有没打开? 比如下面这个窗口,假设在某段代码中已经CALL @打开,后面代码怎么判断这个窗口还打开着还是关闭了? _SUB TEST,W180H95,测试 LABE labe_m51,L40T25W120H20,测试窗  详情 回复 发表于 2021-2-4 23:07
感谢! 采用楼上两位写法能够隐藏窗口,让程序继续向下走。 但问题没有解决。可能我没有完整说明问题流程。 有PE有A.7z和B.7z两种驱动包,A.7z很小,放置自己常用驱动。B.7z则为体积很大的驱动包。A.7z与此配置文  详情 回复 发表于 2021-1-31 18:19

评分

参与人数 1无忧币 +5 收起 理由
lafter + 5

查看全部评分

回复

使用道具 举报

15623#
发表于 2021-1-31 18:19:33 | 只看该作者
本帖最后由 lafter 于 2021-1-31 19:09 编辑
红毛樱木 发表于 2021-1-30 23:41
最好还是统一养成习惯,用-wait -hide

感谢!
问题解决了,经查,问题出在后面判断程序上,因为只使用了!隐藏,没有待,导致结果没出来就往下跑了。
-wait -hide还是可靠。
回复

使用道具 举报

15624#
发表于 2021-2-4 23:07:12 | 只看该作者
红毛樱木 发表于 2021-1-30 23:41
最好还是统一养成习惯,用-wait -hide

红毛老大,怎么判断自定义的窗口有没打开?
比如下面这个窗口,假设在某段代码中已经CALL @打开,后面代码怎么判断这个窗口还打开着还是关闭了?

_SUB TEST,W180H95,测试
LABE labe_m51,L40T25W120H20,测试窗口 . . .
_END

点评

最简单的方法,一开始申请一个变量 envi &hadopen=yes 窗口关闭关联执行代码 envi &hadopen=no 通过这个变量来判断,应该行。 当然还有其他方法,用find查找窗口。 或者用envi的一个功能来判断是否为窗口,都  详情 回复 发表于 2021-2-5 13:20
回复

使用道具 举报

15625#
发表于 2021-2-5 13:20:24 来自手机 | 只看该作者
lps4290 发表于 2021-2-4 23:07
红毛老大,怎么判断自定义的窗口有没打开?
比如下面这个窗口,假设在某段代码中已经CALL @打开,后面代 ...

最简单的方法,一开始申请一个变量
envi &hadopen=yes
窗口关闭关联执行代码
envi &hadopen=no
通过这个变量来判断,应该行。
当然还有其他方法,用find查找窗口。
或者用envi的一个功能来判断是否为窗口,都可以的

点评

变量法确实最简单直接,问题已解决,非常感谢答复 之前反复翻查命令说明,感觉FIND和ENVI应该可以,但M大的说明很精练,初学者还需要时间消化。 不过目前用变量判断也很好了,就这样吧,再次感谢  详情 回复 发表于 2021-2-7 18:21
回复

使用道具 举报

15626#
发表于 2021-2-5 15:23:46 | 只看该作者
是破解版 ??  下来 look look
回复

使用道具 举报

15627#
发表于 2021-2-7 18:21:27 | 只看该作者
红毛樱木 发表于 2021-2-5 13:20
最简单的方法,一开始申请一个变量
envi &hadopen=yes
窗口关闭关联执行代码

变量法确实最简单直接,问题已解决,非常感谢答复

之前反复翻查命令说明,感觉FIND和ENVI应该可以,但M大的说明很精练,初学者还需要时间消化。
不过目前用变量判断也很好了,就这样吧,再次感谢
回复

使用道具 举报

15628#
发表于 2021-2-10 18:07:42 | 只看该作者
本帖最后由 527104427 于 2021-2-10 22:24 编辑
mdyblog 发表于 2021-1-30 14:56
PECMD  HELP DATE

■子项:   y Mon d w h min s ms ws[1] ds Freq Counter 分别指 年 月 日 星期 时  ...

问题1:
SET &A=143.57   //SET &A=8.79
CALC &&B=%&A%
MESS. [%&B%]  //[143.5699999999999]   //[8.789999999999999]
按理说结果应该是两位小数,可事实却是13位,不知道是BUG不

问题2:
SET &A=8.79
SET &B=8.789999999999999
IFEX $%&A%=%&B%, MESS 两个数相同
结果是相同,应该是不同才对

问题3:
FIND \\?\Harddisk0Partition1\=?,&A
MESS. [%&A%]   //[0]
IFEX \\?\Harddisk0Partition1\=?,&B
MESS. [%&B%]   //[0]
FIND和IFEX查询磁盘空间,可否支持上面的格式











点评

问题2: SET &A=8.79 SET &B=8.789999999999999 IFEX $%&A%=%&B%, MESS 两个数相同 结果是相同,应该是不同才对 -------------------- 原因同上。 因此, 一般不要用 浮点数来判等。 尽量用整数。 上面的  详情 回复 发表于 2021-2-11 10:27
问题1: SET &A=143.57 //SET &A=8.79 CALC &&B=%&A% MESS. [%&B%] //[143.5699999999999] //[8.789999999999999] 按理说结果应该是两位小数,可事实却是13位,不知道是BUG不 ---------------------------  详情 回复 发表于 2021-2-11 10:13
是好奇葩哎, SET &A=143.57 //SET &A=8.79 CALC &&B=%&A%#3 MESS. [%&B%] //[143.5699999999999] //[8.789999999999999] 这样又只有2位小数点的,啊哈哈  详情 回复 发表于 2021-2-10 21:14
回复

使用道具 举报

15629#
发表于 2021-2-10 21:14:43 | 只看该作者
527104427 发表于 2021-2-10 18:07
问题1:
SET &A=143.57   //SET &A=8.79
CALC &&B=%&A%

是好奇葩哎,
SET &A=143.57   //SET &A=8.79
CALC &&B=%&A%#3
MESS. [%&B%]  //[143.5699999999999]   //[8.789999999999999]
这样又只有2位小数点的,啊哈哈

点评

SET &A=143.57 //SET &A=8.79 CALC &&B=%&A%#3 MESS. [%&B%] //[143.5699999999999] //[8.789999999999999] 这样又只有2位小数点的,啊哈哈 ------------------------------ #3 得到的为 143.570 最后  详情 回复 发表于 2021-2-19 21:03
回复

使用道具 举报

15630#
发表于 2021-2-10 22:24:25 | 只看该作者
红毛樱木 发表于 2021-2-10 21:14
是好奇葩哎,
SET &A=143.57   //SET &A=8.79
CALC &&B=%&A%#3


回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2026-1-21 15:33

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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