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

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

   火... [复制链接]
 楼主| 发表于 2015-12-20 04:20:13 | 显示全部楼层
linkin129 发表于 2015-12-19 23:03
不过旧版的pecmd不用定义就能取到

去掉
ENVI^ FORCELOCAL=1
即可。
那样 就没用到PE变量
回复

使用道具 举报

 楼主| 发表于 2015-12-20 04:28:30 | 显示全部楼层

参见:
杀死祖母.WCS
//不能杀死自己的长辈。
//只能POSTMSG  给他们, 让他们自杀(退出)。
或者开定时器延时自杀。
  1. ENVI^ FORCELOCAL=1
  2. WIN
  3. _SUB WIN,W502H480
  4.    TABS TABS1,L10T6W476H396,Page1:P1:;
  5.    ENVI @this.MSG=#1: KILL \
  6. _END

  7. _SUB Page1,W472H376,
  8.     ITEM ITEM1,L192T125W60H30,ITEM1, ENVI @WIN.POSTMSG=#1
  9. _END
复制代码

点评

ENVI^ FORCELOCAL=1 WIN _SUB WIN,W502H480 TABS TABS1,L10T6W476H396,Page1:P1:; ENVI @this.MSG=#1: KILL \ _END _SUB Page1,W472H376, ITEM ITEM1,L192T125W60H30,ITEM1,call @MYWINDOW1 _  详情 回复 发表于 2015-12-20 09:09
回复

使用道具 举报

发表于 2015-12-20 09:09:25 | 显示全部楼层
本帖最后由 linkin129 于 2015-12-20 09:47 编辑

可以了
回复

使用道具 举报

发表于 2015-12-20 14:50:59 | 显示全部楼层
本帖最后由 ling3882688 于 2015-12-20 14:52 编辑

M大,你看文本残留为啥总是清不掉呢?我刷新了EXPLORER也不行。只能重启解决吗。
1.jpg

点评

什么版本啊! 旧版的话, 需要杀掉对应的PECMD进程。  详情 回复 发表于 2015-12-20 17:45
最后来个空的 TEXT试试  详情 回复 发表于 2015-12-20 15:59
回复

使用道具 举报

发表于 2015-12-20 15:59:10 | 显示全部楼层
ling3882688 发表于 2015-12-20 14:50
M大,你看文本残留为啥总是清不掉呢?我刷新了EXPLORER也不行。只能重启解决吗。

最后来个空的
TEXT试试

点评

谢谢,我试试!  详情 回复 发表于 2015-12-20 17:02
回复

使用道具 举报

发表于 2015-12-20 16:49:55 | 显示全部楼层

READ %CurDir%\x.txt,1,FullPath
READ %CurDir%\x.txt,2,kDrv
// 动态进度条+文本:

CALL @WIN1

_SUB WIN1,W303H192,执行.进度条,

    SET &p=0
    SET &V=
    PBAR PBAR1,L12T13W249H17,0

    THREAD* OnDo

_END

_SUB OnDo
    SET &p=-1
   
   EXEC*  --cmd::5000:OnMsg &V=!wimlib-imagex.exe apply "%FullPath%" "1" "%kDrv%"

_END

_SUB OnMsg  
    FIND $%&V%=, EXIT -
    SET &p0=%&p%
    READ -,0,&vLn,%&V%

    MSTR &L2=<-2>%&vLn%

    MSTR &p=-2,0,%&L2%

    MSTR &c=2,0,%&p%

    CALC #&c=%&c%

    IFEX %&c% < 0, EXIT

    IFEX $%&c% = %&p0%, EXIT

    ENVI @PBAR1=%&c%;%&c%%%
_END

不加ENVI^ FORCELOCAL=1,读wimlib-imagex进度,PECMD的CPU占用很高啊,有没别的方法???

点评

加贝。  详情 回复 发表于 2015-12-20 17:46
回复

使用道具 举报

发表于 2015-12-20 17:02:34 | 显示全部楼层
红毛樱木 发表于 2015-12-20 15:59
最后来个空的
TEXT试试

谢谢,我试试!
回复

使用道具 举报

 楼主| 发表于 2015-12-20 17:45:32 | 显示全部楼层
ling3882688 发表于 2015-12-20 14:50
M大,你看文本残留为啥总是清不掉呢?我刷新了EXPLORER也不行。只能重启解决吗。

什么版本啊!
旧版的话, 需要杀掉对应的PECMD进程。

点评

就一个PECMD进程啊,用最新版本1218也这样。  详情 回复 发表于 2015-12-21 00:01
回复

使用道具 举报

 楼主| 发表于 2015-12-20 17:46:10 | 显示全部楼层
linkin129 发表于 2015-12-20 16:49
READ %CurDir%\x.txt,1,FullPath
READ %CurDir%\x.txt,2,kDrv
// 动态进度条+文本:

加贝。

点评

加了后,大量代码出错几乎要重写  详情 回复 发表于 2015-12-20 17:47
回复

使用道具 举报

发表于 2015-12-20 17:47:55 | 显示全部楼层

加了后,大量代码出错几乎要重写

点评

那就局部加。 _SUB WIN1 里面加。  详情 回复 发表于 2015-12-20 18:28
回复

使用道具 举报

 楼主| 发表于 2015-12-20 18:28:08 | 显示全部楼层
linkin129 发表于 2015-12-20 17:47
加了后,大量代码出错几乎要重写

那就局部加。
_SUB WIN1
里面加。
回复

使用道具 举报

发表于 2015-12-21 00:01:37 | 显示全部楼层
mdyblog 发表于 2015-12-20 17:45
什么版本啊!
旧版的话, 需要杀掉对应的PECMD进程。

就一个PECMD进程啊,用最新版本1218也这样。
回复

使用道具 举报

发表于 2015-12-21 16:59:41 | 显示全部楼层
ENVI$ NL=0d 0a
ENVI &J=0
ENVI &A=
ENVI &B=
ENVI &A1=
ENVI &B1=


WIN
_SUB WIN,W502H480
  TABS TABS1,L10T6W476H396,Page1:P1:Page1;Page3:P2:Page3
_END


_SUB Page1,W351H240
    LIST P1LIST,L30T70W257H100,
_END

_SUB Page3,W483H300,
    LABE -left fftip,L43T170W348H18,,,0xFF0000,
    ITEM SFILE,L157T227W80H28,开始搜索,CALL SFILES,
    LIST P3LIST,L40T41W342H100,
_END

_SUB SFILES
   
    TIME FTimer,1000, CALL OnFTimer

    CALL OnFTimer

    THREAD* FIND2FILE

_END

_SUB OnFTimer

    ENVI @fftip=已用时间: %&J%秒

    CALC #&J = %&J% + 1

_END

_SUB FIND2FILE
        
     FINDINI      
_END

_SUB FINDINI
     FORX /s:5 \*.ini,G,0, ENVI &B=%&B%%NL%%G%
     MSTR &B1=3,0,%&B%
     ENVI @FTimer=0
    ENVI @fftip.Visable=0
    ENVI @P3LIST.ADD=%&B1%
    ENVI @P1:P1LIST.ADD=%&B1%
_END


%&B1%怎么传入P1LIST?

点评

这个有实例。  详情 回复 发表于 2015-12-21 17:10
回复

使用道具 举报

 楼主| 发表于 2015-12-21 17:10:38 | 显示全部楼层
linkin129 发表于 2015-12-21 16:59
ENVI$ NL=0d 0a
ENVI &J=0
ENVI &A=

这个有实例。

点评

没找到  详情 回复 发表于 2015-12-21 17:15
回复

使用道具 举报

发表于 2015-12-21 17:15:26 | 显示全部楼层
本帖最后由 linkin129 于 2015-12-21 17:32 编辑


可以了
回复

使用道具 举报

发表于 2015-12-22 11:11:54 | 显示全部楼层
PECMD 能不能对比图片和颜色的?
回复

使用道具 举报

发表于 2015-12-22 15:06:37 | 显示全部楼层
本帖最后由 wjgyz740526 于 2015-12-22 15:14 编辑

我想查找所有分区特定文件并列表出来该怎么做?用ifex的话变量只能保存最后一个符合条件的值啊,怎样得到一个完整的列表并显示在表里呢?



FORX /S /O:-N C:\windows\*.INI,f,0,envi &&hDATA=f%&TAB%

ENVI$ &&TAB=09

CALL Page1

_SUB Page1,W280H200,文件列表
LABE hLABE,L18T82W320H18,2.请选择:
ENVI &&hTITLE=+30:序号%&TAB%+210:文件位置%&TAB%
TABL hTABL,L18T20W240H100,%&hTITLE%,%&hDATA%,0x10040
_END



用批处理倒是可以实现,pecmd不会,肯请指教,谢谢

点评

ENVI$ &&TAB=09 CALL Page1 _SUB Page1,W347H255,文件列表, LIST LIST1,L2T124W320H18,2.请选择:,, ENVI &&hTITLE=+30:序号%&TAB%+210:文件位置%&TAB% TABL hTABL,L18T20W240H100,%&hTITLE%,,0  详情 回复 发表于 2015-12-22 19:10
回复

使用道具 举报

发表于 2015-12-22 19:10:26 | 显示全部楼层
本帖最后由 linkin129 于 2015-12-22 19:15 编辑
wjgyz740526 发表于 2015-12-22 15:06
我想查找所有分区特定文件并列表出来该怎么做?用ifex的话变量只能保存最后一个符合条件的值啊,怎样得到一 ...


ENVI$ &&TAB=09

CALL Page1

_SUB Page1,W347H255,文件列表,
    LIST LIST1,L2T124W320H18,2.请选择:,,,0x100
    ENVI &&hTITLE=+30:序号%&TAB%+210:文件位置%&TAB%
    TABL hTABL,L18T20W240H100,%&hTITLE%,,0x10040
    THREAD* FORX1

_END


_SUB FORX1
   
   
  FORX /S \*.INI,f,0,TEAM ENVI @LIST1.ADD=%f% |ENVI @hTABL.VAL=0*;%&TAB%%f%
     
_END


这样吗?

点评

谢谢你的回复!我想选择下拉列表某个项退出的时候,弹出消息框提示文字信息怎么做?谢谢 ENVI$ &&NL=0a ENVI$ &&TAB=01 CALL Page1 _SUB Page1,W280H255,文件列表, LABE hLABE,L18T15W150H18,查找  详情 回复 发表于 2015-12-23 15:43
回复

使用道具 举报

发表于 2015-12-23 15:43:29 | 显示全部楼层
linkin129 发表于 2015-12-22 19:10
ENVI$ &&TAB=09

CALL Page1


谢谢你的回复!我想选择下拉列表某个项退出的时候,弹出消息框提示文字信息怎么做?谢谢


ENVI$ &&NL=0a
ENVI$ &&TAB=01

CALL Page1

_SUB Page1,W280H255,文件列表,
    LABE hLABE,L18T15W150H18,查找到的文件列表:
    LIST LIST1,L18T124W240H18,请选择文件:,TEAM ENVI @V=%LIST1%,请选择文件:,0x100
    ENVI &&hTITLE=*300:文件位置%&TAB%
    TABL hTABL,L18T40W240H65,%&hTITLE%,%&hDATA%,0x121C0
    THREAD* FORX1
_END

_SUB FORX1
  FORX /S \*.inf,f,0,TEAM ENVI @list1.ADD=%f% |ENVI @hTABL.VAL=0*;%&TAB%%f%   
_END


MESS LIST1=%V% @DEBUG#OK


这样并不显示被选择的项啊

点评

ENVI$ &&NL=0a ENVI$ &&TAB=01 SET ::WM_LBUTTONDOWN=0x0201 //单击 CALL Page1 _SUB Page1,W280H255,文件列表, LABE hLABE,L18T15W150H18,查找到的文件列表:,, LIST LIST1,L18T124W240H18,请选  详情 回复 发表于 2015-12-23 16:41
回复

使用道具 举报

发表于 2015-12-23 16:41:27 | 显示全部楼层
wjgyz740526 发表于 2015-12-23 15:43
谢谢你的回复!我想选择下拉列表某个项退出的时候,弹出消息框提示文字信息怎么做?谢谢

ENVI$ &&NL=0a
ENVI$ &&TAB=01
SET  ::WM_LBUTTONDOWN=0x0201 //单击

CALL Page1

_SUB Page1,W280H255,文件列表,
    LABE hLABE,L18T15W150H18,查找到的文件列表:,,
    LIST LIST1,L18T124W240H18,请选择文件:,CALL SEL,,0x10100
    ENVI &&hTITLE=*300:文件位置%&TAB%
    TABL hTABL,L18T40W240H65,%&hTITLE%,%&hDATA%,0x121C0
    THREAD* FORX1

_END

_SUB FORX1
  ENVI @LIST1.VAL=
  FORX /S:2 \*.inf,f,0,TEAM ENVI @list1.ADD=%f% |ENVI @hTABL.VAL=0*;%&TAB%%f%  
  ENVI @LIST1.isel=1
_END


_SUB SEL

MESS %LIST1% @DEBUG#OK

_END

这样?

点评

谢谢谢谢!!!!  详情 回复 发表于 2015-12-23 17:08
回复

使用道具 举报

发表于 2015-12-23 16:54:24 | 显示全部楼层
本帖最后由 linkin129 于 2015-12-23 16:55 编辑

SET  ::WM_RBUTTONDOWN=0x0204

MYWINDOW1
_SUB MYWINDOW1,W553H397,PECMD2012功能演示,
    EDIT EDIT1,L39T22W297H30,,,
    ENVI &ATAB=+250:路径
    ITEM ITEM1,L363T21W60H30,ITEM1,CALL BROWTag,
    TABL TABL1,L64T83W375H127,%&ATAB%,,0x1c0
    ENVI @TABL1.MSG=_%&WM_RBUTTONDOWN%: CALL DELTAB
    LABE RBUTTON,L103T240W310H15,,,
    ENVI @RBUTTON.Visable=0
_END

_SUB BROWTag
BROW Tag,*C:\Windows,请选择一个目录
ENVI @EDIT1=%Tag%
ENVI @TABL1.VAL=0*;%Tag%
_END

_SUB DEL
    FILE -force %1
    ENVI @FILEClearOnTimer=0
    ENVI @RBUTTON.Visable=0
_END

_SUB DELTAB
     ENVI &&DELFILE=
     ENVI &K=0
     ENVI @TABL1.Sel=?&&Sel
     ENVI @TABL1.Val=?%&Sel%.1;&DELFILE
     ENVI @RBUTTON.Visable=1
     TIME FILEClearTimer,1000, CALL FILEClearOnTimer
     CALL FILEClearOnTimer
     THREAD* DEL %&DELFILE%
     ENVI @TABL1.Val=-%&Sel%
_END

_SUB FILEClearOnTimer

   ENVI @RBUTTON=正在卸载镜像,请稍候...  已用时间: %&K%秒
   CALC &K= %&K% + 1

_END

老大,这个右键表格删除大些目录,好卡没响应

点评

和程序无关吧。 是系统在卡,此时所有的程序都卡。 如果是台式机, 会看到硬盘灯狂闪。  详情 回复 发表于 2015-12-23 17:34
回复

使用道具 举报

发表于 2015-12-23 17:08:51 | 显示全部楼层
linkin129 发表于 2015-12-23 16:41
ENVI$ &&NL=0a
ENVI$ &&TAB=01
SET  ::WM_LBUTTONDOWN=0x0201 //单击

谢谢谢谢!!!!
回复

使用道具 举报

 楼主| 发表于 2015-12-23 17:34:57 | 显示全部楼层
linkin129 发表于 2015-12-23 16:54
SET  ::WM_RBUTTONDOWN=0x0204

MYWINDOW1

和程序无关吧。
是系统在卡,此时所有的程序都卡。  如果是台式机, 会看到硬盘灯狂闪。

点评

_SUB DELTAB,* 这样不卡但是时间不动  详情 回复 发表于 2015-12-23 17:37
回复

使用道具 举报

发表于 2015-12-23 17:37:54 | 显示全部楼层
本帖最后由 linkin129 于 2015-12-23 17:51 编辑
mdyblog 发表于 2015-12-23 17:34
和程序无关吧。
是系统在卡,此时所有的程序都卡。  如果是台式机, 会看到硬盘灯狂闪。


回复

使用道具 举报

发表于 2015-12-23 18:41:12 | 显示全部楼层
右键表格弹出菜单怎么写?

点评

CALL @--popmenu 有实例。  详情 回复 发表于 2015-12-23 19:00
回复

使用道具 举报

 楼主| 发表于 2015-12-23 19:00:36 | 显示全部楼层
linkin129 发表于 2015-12-23 18:41
右键表格弹出菜单怎么写?

CALL @--popmenu   <菜单名>
有实例。
回复

使用道具 举报

发表于 2015-12-25 16:10:05 | 显示全部楼层
这个帖子层数太高,找东西超级不便,有个层数和内容的帮助文档就好了
回复

使用道具 举报

发表于 2015-12-25 18:42:32 | 显示全部楼层
怎么判断是否主分区?

点评

PART 命令。 1) MBR 2) 物理号: 1,2,3,4 3) 类型: 不是空分区(0x00), 不是 扩展分区(0x05 0x0F)  详情 回复 发表于 2015-12-26 11:02
回复

使用道具 举报

 楼主| 发表于 2015-12-26 11:02:24 | 显示全部楼层
linkin129 发表于 2015-12-25 18:42
怎么判断是否主分区?

PART 命令。

1) MBR
2) 物理号: 1,2,3,4
3) 类型: 不是空分区(0x00), 不是 扩展分区(0x05  0x0F)
回复

使用道具 举报

发表于 2015-12-26 20:34:42 | 显示全部楼层
MYWINDOW1
_SUB MYWINDOW1,W415H324,PECMD2012功能演示,
    EDIT EDIT1,L138T57W60H30,,,
    ITEM ITEM2,L138T155W60H30,开始,CALL 开始,
    ITEM ITEM1,L218T157W60H30,停止,CALL 停止,
_END

_SUB 开始
       ENVI J=0
       TIME Timer,200,CALL OnTimer
       CALL OnTimer   
_END

_SUB 停止
   
    ENVI @Timer=0
   
_END

_SUB OnTimer

     ENVI @EDIT1=%J%秒

     CALC J= %J% + 0.2#1

_END
第一次能停止,之后就停止不了,时间越走越快

点评

定时器的创建一般在窗口。 这样, 每次创建一个。引起混乱。  详情 回复 发表于 2015-12-27 07:13
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-18 12:19

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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