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

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

   火... [复制链接]
发表于 2017-7-20 19:04:42 | 显示全部楼层
mdyblog 发表于 2017-7-20 17:55
我把磁盘做成VHD。

管理员运行 测试.VHD

必须要有VHD磁盘才可以吗

点评

VHD 的好处是保证两边的磁盘是一样的。 这里VHD就是一个磁盘。 就当一个移动硬盘好了。该 移动硬盘 FB1.7格式化的。 VHD 磁盘可以吗?  详情 回复 发表于 2017-7-20 20:05
回复

使用道具 举报

 楼主| 发表于 2017-7-20 20:05:57 | 显示全部楼层
23456 发表于 2017-7-20 19:04
必须要有VHD磁盘才可以吗

VHD 的好处是保证两边的磁盘是一样的。
这里VHD就是一个磁盘。 就当一个移动硬盘好了。该 移动硬盘 FB1.7格式化的。

VHD 磁盘可以吗?

点评

现在的MESS很容易造成程序死掉,简单的脚本没什么问题,复杂的就会出现 比如在脚本中间随便哪里插入一个MESS OK 暂时没发现死掉的规律是什么,感觉改进MESS~+icon组合之后就这样了。  详情 回复 发表于 2017-7-20 20:22
回复

使用道具 举报

发表于 2017-7-20 20:22:41 | 显示全部楼层
mdyblog 发表于 2017-7-20 20:05
VHD 的好处是保证两边的磁盘是一样的。
这里VHD就是一个磁盘。 就当一个移动硬盘好了。该 移动硬盘 FB1. ...

现在的MESS很容易造成程序死掉,简单的脚本没什么问题,复杂的就会出现
比如在脚本中间随便哪里插入一个MESS OK
暂时没发现死掉的规律是什么,感觉改进MESS~+icon组合之后就这样了。

点评

那就奇怪了  详情 回复 发表于 2017-7-20 21:27
回复

使用道具 举报

 楼主| 发表于 2017-7-20 21:27:35 | 显示全部楼层
527104427 发表于 2017-7-20 20:22
现在的MESS很容易造成程序死掉,简单的脚本没什么问题,复杂的就会出现
比如在脚本中间随便哪里插入一个 ...

那就奇怪了

点评

跟踪了很久,终于找到问题所在,原来是EDIT跟MESS有冲突,如下代码,点一下确定按钮,程序马上崩溃。去掉EDIT控件就正常 CALL @a _SUB a,W221H86, EDIT c,L18T12W105H22,,, ITEM d,L138T11W46H22,确  详情 回复 发表于 2017-7-20 21:54
回复

使用道具 举报

发表于 2017-7-20 21:54:22 | 显示全部楼层

跟踪了很久,终于找到问题所在,原来是EDIT跟MESS有冲突,如下代码,点一下确定按钮,程序马上崩溃。去掉EDIT控件就正常

CALL @a

_SUB a,W221H86,
    EDIT c,L18T12W105H22,,,
    ITEM d,L138T11W46H22,确定,MESS OK,
_END


点评

试试 PECMD2012.1.88.05.77Pre8-170719  详情 回复 发表于 2017-7-21 07:39
回复

使用道具 举报

 楼主| 发表于 2017-7-21 07:39:33 | 显示全部楼层
本帖最后由 mdyblog 于 2017-7-21 07:40 编辑
527104427 发表于 2017-7-20 21:54
跟踪了很久,终于找到问题所在,原来是EDIT跟MESS有冲突,如下代码,点一下确定按钮,程序马上崩溃。去掉 ...


试试 PECMD2012.1.88.05.77Pre8-170719

EDIT 消息超级捕捉 支持的原因

点评

这样也会死掉: #code=936T950 ENVI^ EnviMode=1 ENVI^ ForceLocal=1 SET &::WM_KEYDOWN=0x0100 CALL @A _SUB A,W250H192, TABL B,L20T32W203H92,,,0x10040 ENVI @B.MSG=+%&WM_KEYDOWN%: KILL \  详情 回复 发表于 2017-7-21 13:51
SERV -disabled !VSS //能否在禁用服务后将其停止? 能否加个开关,在改变服务的启动类型后启动服务  详情 回复 发表于 2017-7-21 09:52
还有两个问题: 1.PUTF 没能调用内置的 cabinet.dll 2.EXEC -exe:*cab:#1:bootice.exe 也没能调用内置的 cabinet.dll  详情 回复 发表于 2017-7-21 09:11
好了  详情 回复 发表于 2017-7-21 08:22
回复

使用道具 举报

发表于 2017-7-21 08:22:37 | 显示全部楼层
mdyblog 发表于 2017-7-21 07:39
试试 PECMD2012.1.88.05.77Pre8-170719

EDIT 消息超级捕捉 支持的原因

好了
回复

使用道具 举报

发表于 2017-7-21 09:11:15 | 显示全部楼层
本帖最后由 527104427 于 2017-7-21 09:40 编辑
mdyblog 发表于 2017-7-21 07:39
试试 PECMD2012.1.88.05.77Pre8-170719

EDIT 消息超级捕捉 支持的原因

还有两个问题:
1.PUTF 没能调用内置的 cabinet.dll
2.EXEC  -exe:*cab:#1:bootice.exe    也没能调用内置的 cabinet.dll

不知道还有哪些命令要用到解压的?全都改一改吧,系统没有cabinet.dll就调用内置的

还有一个命令跳转不正确:
1.png


点评

1.PUTF 没能调用内置的 cabinet.dll ------------------ PUTF好像没有CAB功能吧。 命令怎么写的?  详情 回复 发表于 2017-7-21 17:32
2.EXEC -exe:*cab:#1:bootice.exe 也没能调用内置的 cabinet.dll 改了  详情 回复 发表于 2017-7-21 17:31
回复

使用道具 举报

发表于 2017-7-21 09:52:46 | 显示全部楼层
mdyblog 发表于 2017-7-21 07:39
试试 PECMD2012.1.88.05.77Pre8-170719

EDIT 消息超级捕捉 支持的原因


SERV -disabled !VSS    //能否在禁用服务后将其停止?
能否加个开关,在改变服务的启动类型后启动服务

点评

加了  详情 回复 发表于 2017-7-21 17:31
回复

使用道具 举报

发表于 2017-7-21 13:51:24 | 显示全部楼层
mdyblog 发表于 2017-7-21 07:39
试试 PECMD2012.1.88.05.77Pre8-170719

EDIT 消息超级捕捉 支持的原因


这样也会死掉(直接敲回车):

#code=936T950
ENVI^ EnviMode=1
ENVI^ ForceLocal=1
SET &::WM_KEYDOWN=0x0100
CALL @A

_SUB A,W250H192,
    TABL B,L20T32W203H92,,,0x10040
    ENVI @B.MSG=+%&WM_KEYDOWN%: KILL \
_END

点评

PECMD2012.1.88.05.77Pre9-170719 改用 KILL* #code=936T950 ENVI^ EnviMode=1 ENVI^ ForceLocal=1 SET &::WM_KEYDOWN=0x0100 CALL @A _SUB A,W250H192, TABL B,L20T32W203H92,,,0x10040 ENVI  详情 回复 发表于 2017-7-21 17:30
PECMD2012.1.88.05.77Pre9-170719 改用 KILL* #code=936T950 ENVI^ EnviMode=1 ENVI^ ForceLocal=1 SET &::WM_KEYDOWN=0x0100 CALL @A _SUB A,W250H192, TABL B,L20T32W203H92,,,0x10040 ENVI  详情 回复 发表于 2017-7-21 17:30
回复

使用道具 举报

发表于 2017-7-21 15:27:15 | 显示全部楼层
M大你给我的PECMD无法使用系统热键。

点评

PECMD2012.1.88.05.77Pre9-170719  详情 回复 发表于 2017-7-21 17:30
回复

使用道具 举报

 楼主| 发表于 2017-7-21 17:30:20 | 显示全部楼层
527104427 发表于 2017-7-21 13:51
这样也会死掉(直接敲回车):

#code=936T950

PECMD2012.1.88.05.77Pre9-170719
改用 KILL*

#code=936T950
ENVI^ EnviMode=1
ENVI^ ForceLocal=1
SET &::WM_KEYDOWN=0x0100
CALL @A

_SUB A,W250H192,
    TABL B,L20T32W203H92,,,0x10040
    ENVI @B.MSG=+%&WM_KEYDOWN%: KILL* \
_END
回复

使用道具 举报

 楼主| 发表于 2017-7-21 17:30:20 | 显示全部楼层
527104427 发表于 2017-7-21 13:51
这样也会死掉(直接敲回车):

#code=936T950

PECMD2012.1.88.05.77Pre9-170719
改用 KILL*

#code=936T950
ENVI^ EnviMode=1
ENVI^ ForceLocal=1
SET &::WM_KEYDOWN=0x0100
CALL @A

_SUB A,W250H192,
    TABL B,L20T32W203H92,,,0x10040
    ENVI @B.MSG=+%&WM_KEYDOWN%: KILL* \
_END
回复

使用道具 举报

 楼主| 发表于 2017-7-21 17:30:39 | 显示全部楼层
chxm1023 发表于 2017-7-21 15:27
M大你给我的PECMD无法使用系统热键。

PECMD2012.1.88.05.77Pre9-170719
回复

使用道具 举报

 楼主| 发表于 2017-7-21 17:31:04 | 显示全部楼层
527104427 发表于 2017-7-21 09:52
SERV -disabled !VSS    //能否在禁用服务后将其停止?
能否加个开关,在改变服务的启动类型后启动服 ...

加了
回复

使用道具 举报

 楼主| 发表于 2017-7-21 17:31:35 | 显示全部楼层
527104427 发表于 2017-7-21 09:11
还有两个问题:
1.PUTF 没能调用内置的 cabinet.dll
2.EXEC  -exe:*cab:#1:bootice.exe    也没能调用 ...

2.EXEC  -exe:*cab:#1:bootice.exe    也没能调用内置的 cabinet.dll
改了

点评

PUTF 释放内置资源,INDATA\29,不行。我只试了以CAB压缩包方式内置的资源,其它方式的没试。  详情 回复 发表于 2017-7-21 17:37
回复

使用道具 举报

 楼主| 发表于 2017-7-21 17:32:19 | 显示全部楼层
527104427 发表于 2017-7-21 09:11
还有两个问题:
1.PUTF 没能调用内置的 cabinet.dll
2.EXEC  -exe:*cab:#1:bootice.exe    也没能调用 ...

1.PUTF 没能调用内置的 cabinet.dll
------------------
PUTF好像没有CAB功能吧。
命令怎么写的?
回复

使用道具 举报

 楼主| 发表于 2017-7-21 17:34:47 | 显示全部楼层
frg521 发表于 2017-7-21 10:14
SHEL监视 引出了用户接口 为 INDATA\34 脚本。
可自行修改
    // 1:死  掉:  AfterTerm    1      //0 ...

1: 新版有可以了。
效果:
OnShell.png
回复

使用道具 举报

发表于 2017-7-21 17:37:02 | 显示全部楼层
mdyblog 发表于 2017-7-21 17:31
2.EXEC  -exe:*cab:#1:bootice.exe    也没能调用内置的 cabinet.dll
改了

PUTF 释放内置资源,INDATA\29,不行。我只试了以CAB压缩包方式内置的资源,其它方式的没试。

点评

PUTF 不解压CAB。 PUTF出来的还是 CAB文件。 需要 DEVI命令手动解压。  详情 回复 发表于 2017-7-21 17:41
回复

使用道具 举报

 楼主| 发表于 2017-7-21 17:39:46 | 显示全部楼层
frg521 发表于 2017-7-21 10:14
SHEL监视 引出了用户接口 为 INDATA\34 脚本。
可自行修改
    // 1:死  掉:  AfterTerm    1      //0 ...

想知道34脚本,理论上记录哪些事件到LOG
--------------------------

34脚本 响应的 事件:
     1:SHELL死 掉  
     2:将要执行SHELL
     3:SHEL执行后

传递的参数:
     1:死  掉:  AfterTerm    1      //0为首次 1为重启
     2:执行前:  BeforeStart  1      //0为首次 1为重启
     3:执行后:  AfterRun     3 pid  //0为首次且失败 1为重启且失败 2为首次且成功 3为重启且成功

目前记录的格式
    时间 参数

回复

使用道具 举报

 楼主| 发表于 2017-7-21 17:39:46 | 显示全部楼层
frg521 发表于 2017-7-21 10:14
SHEL监视 引出了用户接口 为 INDATA\34 脚本。
可自行修改
    // 1:死  掉:  AfterTerm    1      //0 ...

想知道34脚本,理论上记录哪些事件到LOG
--------------------------

34脚本 响应的 事件:
     1:SHELL死 掉  
     2:将要执行SHELL
     3:SHEL执行后

传递的参数:
     1:死  掉:  AfterTerm    1      //0为首次 1为重启
     2:执行前:  BeforeStart  1      //0为首次 1为重启
     3:执行后:  AfterRun     3 pid  //0为首次且失败 1为重启且失败 2为首次且成功 3为重启且成功

目前记录的格式
    时间 参数

回复

使用道具 举报

 楼主| 发表于 2017-7-21 17:39:46 | 显示全部楼层
frg521 发表于 2017-7-21 10:14
SHEL监视 引出了用户接口 为 INDATA\34 脚本。
可自行修改
    // 1:死  掉:  AfterTerm    1      //0 ...


想知道34脚本,理论上记录哪些事件到LOG
--------------------------

34脚本 响应的 事件:
     1:SHELL死 掉  
     2:将要执行SHELL
     3:SHEL执行后

传递的参数:
     1:死  掉:  AfterTerm    1      //0为首次 1为重启
     2:执行前:  BeforeStart  1      //0为首次 1为重启
     3:执行后:  AfterRun     3 pid  //0为首次且失败 1为重启且失败 2为首次且成功 3为重启且成功

目前记录的格式
    时间 参数
OnShell.png
回复

使用道具 举报

 楼主| 发表于 2017-7-21 17:41:50 | 显示全部楼层
527104427 发表于 2017-7-21 17:37
PUTF 释放内置资源,INDATA\29,不行。我只试了以CAB压缩包方式内置的资源,其它方式的没试。

PUTF 不解压CAB。
PUTF出来的还是 CAB文件。 需要 DEVI命令手动解压。

点评

我记得PUTF "%desktop%\aa.cab",0,"%MyName%""#.29|INDATA"才是不解压吧,不加点是有解压操作的?可能是我误解了 DEVI *extract "%MyName%""#29|INDATA",,%desktop%\222 不知道这种用法有没有错?如果没错的  详情 回复 发表于 2017-7-21 17:50
回复

使用道具 举报

发表于 2017-7-21 17:50:51 | 显示全部楼层
mdyblog 发表于 2017-7-21 17:41
PUTF 不解压CAB。
PUTF出来的还是 CAB文件。 需要 DEVI命令手动解压。



我记得PUTF  "%desktop%\aa.cab",,"%MyName%""#.29|INDATA"才是不解压吧,不加点是有解压操作的?可能是我误解了

DEVI *extract "%MyName%""#29|INDATA",,%desktop%\222
不知道这种用法有没有错?如果没错的话,那系统没cabinet.dll时不能解压。

点评

我记得PUTF "%desktop%\aa.cab",,"%MyName%""#.29|INDATA"才是不解压吧,不加点是有解压操作的?可能是我误解了 ------------------------ 那是说内置的CMPS解压。 DEVI *extract "%MyName%""#29|INDATA  详情 回复 发表于 2017-7-21 18:01
回复

使用道具 举报

 楼主| 发表于 2017-7-21 17:53:17 | 显示全部楼层
frg521 发表于 2017-7-21 10:14
SHEL监视 引出了用户接口 为 INDATA\34 脚本。
可自行修改
    // 1:死  掉:  AfterTerm    1      //0 ...


还有就是延时是阻塞的,延时的不只是发送显示桌面命令,连重启shell本身也延时了,当然延时是我加的,如果不加,发的太早了,没效果,发送显示桌面理论上是2次,首次启动SHELL与重启后的每次。

如下:

// 首次登录
wait 3000  // 这个时间不好控制,有传说是检测 桌面还是Shell_TrayWnd相关的状态,就绪的话,发送立即生效的
ENVI @@SENDMSG=**Shell_TrayWnd*:0x5BA:0:0   //显示桌面
    IFEX [ '%&::__PECMD.ONSHELL.LOG%'<>'' & %&::__PECMD.ONSHELL.LOG%, TEAM  DATE *space0 &&T|  WRIT %&::__PECMD.ONSHELL.LOG%,$+0,%&T% %*
wait 3000 // 又是延时,其实我不清楚延时放哪里合适,或者说首次显示桌面更应该放PECMD.INI的SHELL后。
   FIND  $[ '%~1'='AfterRun' & '%~2'='3' ],!!  ENVI @@SENDMSG=**Shell_TrayWnd*:0x5BA:0:0   //显示桌面
------------------------------------------------
延时的话, 最好用线程。否则影响系统核心进程的运行。


你是说下面的意思吗?
~~~~~~~~~~~~~~~~~~~~~
IF(首次登录成功执行SHEL )
{wait 3000  // 这个时间不好控制,有传说是检测 桌面还是Shell_TrayWnd相关的状态,就绪的话,发送立即生效的
ENVI @@SENDMSG=**Shell_TrayWnd*:0x5BA:0:0   //显示桌面
}
IFEX [ '%&::__PECMD.ONSHELL.LOG%'<>'' & %&::__PECMD.ONSHELL.LOG%, TEAM  DATE *space0 &&T|  WRIT %&::__PECMD.ONSHELL.LOG%,$+0,%&T% %*

FIND  $[ '%~1'='AfterRun' & '%~2'='3' ],
{  wait 3000  // 又是延时,其实我不清楚延时放哪里合适,或者说首次显示桌面更应该放PECMD.INI的SHELL后。
    ENVI @@SENDMSG=**Shell_TrayWnd*:0x5BA:0:0    //显示桌面
}
~~~~~~~~~~~~~~~~~~~~~
如果这样,写成:

~~~~~~~~~~~~~~~~~~~~~
IFEX [ '%&::__PECMD.ONSHELL.LOG%'<>'' & %&::__PECMD.ONSHELL.LOG% ], TEAM  DATE *space0 &&T|  WRIT %&::__PECMD.ONSHELL.LOG%,$+0,%&T% %*
SET &cmd=TEAM
FIND  $[ '%~1'='AfterRun' & '%~2'='2' ],!! SET CMD=TEAM wait 3000| ENVI @@SENDMSG=**Shell_TrayWnd*:0x5BA:0:0|    // 首次登录
FIND  $[ '%~1'='AfterRun' & '%~2'='3' ],!!  SET CMD=%&CMD% wait 3000| ENVI @@SENDMSG=**Shell_TrayWnd*:0x5BA:0:0|  //显示桌面
FIND $%&CMD%<>TEAM, THREAD$   %&CMD%   //线程执行去吧
~~~~~~~~~~~~~~~~~~~~~
回复

使用道具 举报

 楼主| 发表于 2017-7-21 18:01:18 | 显示全部楼层
527104427 发表于 2017-7-21 17:50
我记得PUTF  "%desktop%\aa.cab",,"%MyName%""#.29|INDATA"才是不解压吧,不加点是有解压操作的?可 ...


我记得PUTF  "%desktop%\aa.cab",,"%MyName%""#.29|INDATA"才是不解压吧,不加点是有解压操作的?可能是我误解了
------------------------
那是说内置的CMPS解压。



DEVI *extract "%MyName%""#29|INDATA",,%desktop%\222
不知道这种用法有没有错?
-------------------------------------
PUTF  "%desktop%\aa.cab",,"%MyName%""#.29|INDATA"
PATH %desktop%\222
DEVI *extract %desktop%\aa.cab,,%desktop%\222
FILE  "%desktop%\aa.cab"



如果没错的话,那系统没cabinet.dll时不能解压。
----------------------------
DEVI *extract 时会自动处理这个问题的。


点评

serv的 -boot -system 两个参数不知道是干什么用的?  详情 回复 发表于 2017-7-21 18:17
用新版的已经可以了,谢谢  详情 回复 发表于 2017-7-21 18:06
回复

使用道具 举报

发表于 2017-7-21 18:06:19 | 显示全部楼层
mdyblog 发表于 2017-7-21 18:01
我记得PUTF  "%desktop%\aa.cab",,"%MyName%""#.29|INDATA"才是不解压吧,不加点是有解压操作的?可能 ...

用新版的已经可以了,谢谢
回复

使用道具 举报

发表于 2017-7-21 18:17:55 | 显示全部楼层
mdyblog 发表于 2017-7-21 18:01
我记得PUTF  "%desktop%\aa.cab",,"%MyName%""#.29|INDATA"才是不解压吧,不加点是有解压操作的?可能 ...

serv的 -boot -system 两个参数不知道是干什么用的?

点评

serv的 -boot -system 两个参数不知道是干什么用的? --------------- -boot: 服务类型为boot -system : 服务类型为system // start=  详情 回复 发表于 2017-7-21 18:27
回复

使用道具 举报

 楼主| 发表于 2017-7-21 18:27:32 | 显示全部楼层
本帖最后由 mdyblog 于 2017-7-21 18:29 编辑
527104427 发表于 2017-7-21 18:17
serv的 -boot -system 两个参数不知道是干什么用的?


serv的 -boot -system 两个参数不知道是干什么用的?
---------------
-boot: 服务类型为boot
-system : 服务类型为system
这两种类型, 根本不在 计算机管理\服务 中列出。
API中有的
// start= <boot|system|auto|demand|disabled|delayed-auto>

点评

$SERVICE_BOOT_START - 由系统加载程序启动的设备驱动程序. 此值仅对驱动程序服务有效. $SERVICE_SYSTEM_START - 由 IoInitSystem 函数启动的设备驱动程序. 此值仅对驱动程序服务有效. $SERVICE_AUTO_START - 由服  详情 回复 发表于 2017-7-21 19:55
回复

使用道具 举报

发表于 2017-7-21 19:55:07 | 显示全部楼层
mdyblog 发表于 2017-7-21 18:27
serv的 -boot -system 两个参数不知道是干什么用的?
---------------
-boot: 服务类型为boot

$SERVICE_BOOT_START - 由系统加载程序启动的设备驱动程序. 此值仅对驱动程序服务有效.
$SERVICE_SYSTEM_START - 由 IoInitSystem 函数启动的设备驱动程序. 此值仅对驱动程序服务有效.
$SERVICE_AUTO_START - 由服务控制管理器在系统启动时自动启动的服务.
$SERVICE_DEMAND_START - 当进程调用 StartService 函数由服务控制管理器启动的服务.
$SERVICE_DISABLED - 不能启动的服务.
在AutoIT的UDF中找到的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-18 02:32

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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