无忧启动论坛

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

PECMD.EXE为什么构建不了窗体

[复制链接]
跳转到指定楼层
1#
发表于 2008-4-25 17:00:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,用的是最新版3.01的PECMD.EXE。准备构建一个启动前选择窗体。本来已成功了,但后来也不知是改了什么,好像没有改到有关窗体的东东,但我演示时却怎么也不行了。奇怪了。请高手指点,代码如下:
`单选框选中结果检测
_SUB CheckMod
FIND $%RadioButton1.Check%=0,CALL Ghostxp!KILL \%Windows1%
_END
`执行启动项
_SUB Ghostxp
RUNS PECMD.EXE EXEC %CurDrv%\PESOFT\TOOLS\GHOSTXP.EXE,安装XP。
KILL \%Windows1%
_END
`配置选择窗口
_SUB Windows1,W305H140,选择模式,,,1
  GROU Group1,L8T10W282H75,请选择PE加载模式
  RADI RadioButton1,L25T30W250H20,正常启动WINPE维护系统(加载所有的工具)  ,ENVI @Label1=,1,1
  RADI RadioButton2,L25T50W250H20,进PE后全自动安装系统到C盘(无需人工干预)  ,ENVI @Label1=,,1
  ITEM Button1,L234T98W56H24,确定,CALL CheckMod
  LABE Label1,L8T103W200H20,5秒内不选择默认以正常方式启动
  TIME Timer1,5000,KILL \%Windows1%
_END
CALL @Windows1        `配置选择
2#
发表于 2008-4-25 18:06:40 | 只看该作者
原帖由 lrbin50 于 2008-4-25 05:00 PM 发表
如题,用的是最新版3.01的PECMD.EXE。准备构建一个启动前选择窗体。本来已成功了,但后来也不知是改了什么,好像没有改到有关窗体的东东,但我演示时却怎么也不行了。奇怪了。请高手指点,代码如下:
`单选框选 ...


你的这个文件才10多行,你一行一行都读懂的话就找到答案了。如果无法读懂,你也无法修改。
回复

使用道具 举报

3#
 楼主| 发表于 2008-4-25 18:47:30 | 只看该作者
呃,我检查了N多遍了。自我感觉每一行都读懂了啊。就是没发现问题出在哪里啊。高手帮我看看,指点一下呗。

[ 本帖最后由 lrbin50 于 2008-4-25 06:57 PM 编辑 ]
回复

使用道具 举报

4#
 楼主| 发表于 2008-4-25 19:09:42 | 只看该作者
老九真是撒手不管了。
请看如下代码:

`超过密码重试次数关机选择对话框
_SUB ShutSystem
  ENVI @Label1=%PassWordError%
  MESS 是否重新启动?\n选择[是]则重启,[否]则关机。@密码错误#YN*5000
  FIND $%YESNO%=YES,SHUT R!SHUT
_END
`重试密码次数对话
_SUB ShowPassWordError
  CALC CurrErrorCount=%CurrErrorCount% + 1
  ENVI PassWordError=第%CurrErrorCount%密码错误,你共有%PassWordErrorCount%次机会。
  IFEX $%CurrErrorCount%<%PassWordErrorCount%,ENVI @Label1=%PassWordError%!CALL ShutSystem
_END
`关闭密码输入框
_SUB SetPEShell
  KILL \%Windows1%
_END
`密码设定及检测
_SUB CheckPassWord
  MD5C %Edit1%,KEY
  FIND $%KEY%=9b50e5bcbe80389ad3b056f4662745ae,CALL SetPEShell!CALL ShowPassWordError
_END
`密码窗口
_SUB Windows1,W256H150,PESHELL,,,1
  GROU Group1,L8T25W232H56,请输入密码
  ENVI PassWordErrorCount=5
  ENVI CurrErrorCount=0
  EDIT Edit1,L32T49W180H20,,CALL CheckPassWord,1
  ITEM Button1,L184T93W56H24,确定,CALL CheckPassWord
  LABE Label1,L8T97W176H20,你共有%PassWordErrorCount%次机会。
_END
CALL @Windows1              `密码验证

这样是可以构建窗体的。但我截取其中构建窗体的代码如下:
`密码窗口
_SUB Windows1,W256H150,PESHELL,,,1
  GROU Group1,L8T25W232H56,请输入密码
  ENVI PassWordErrorCount=5
  ENVI CurrErrorCount=0
  EDIT Edit1,L32T49W180H20,,CALL CheckPassWord,1
  ITEM Button1,L184T93W56H24,确定,CALL CheckPassWord
  LABE Label1,L8T97W176H20,你共有%PassWordErrorCount%次机会。
_END
CALL @Windows1              `密码验证

并没有改变任何东东却不能构建窗体!
请老九解释一下是为什么啊?难道是BUG?
回复

使用道具 举报

5#
发表于 2008-4-25 20:40:21 | 只看该作者
第一行和最后一行加入:

////////////////////
回复

使用道具 举报

6#
发表于 2008-4-25 21:33:45 | 只看该作者
TIME Timer1,5000,KILL \%Windows1%

这一行是什么意思?你明白了没?
回复

使用道具 举报

7#
 楼主| 发表于 2008-4-25 21:43:04 | 只看该作者
谢谢5楼的兄弟,你说的是对的。但有一事不明,为什么我四楼的代码又没有加/////也可以构建窗口呢?顺回老九:TIME Timer1,5000,KILL \%Windows1%,个人认为是设置一个时间控件,超过5秒不选择就关掉这个窗口本身。是这样不?
回复

使用道具 举报

8#
发表于 2008-4-25 21:55:05 | 只看该作者
原帖由 lrbin50 于 2008-4-25 09:43 PM 发表
谢谢5楼的兄弟,你说的是对的。但有一事不明,为什么我四楼的代码又没有加/////也可以构建窗口呢?顺回老九:TIME Timer1,5000,KILL \%Windows1%,个人认为是设置一个时间控件,超过5秒不选择就关掉这个窗口本身 ...


是的,但你的代码有两个问题:
1 既然设置了"超过5秒不选择就关掉这个窗口,执行默认的选择",但好象这个"默认的选择"没有存在啊?
2 文件的第一行和最后一行必须是注释(不能是有效的代码),示例也有这个说明了。

复制你的代码,在第一行和最后一行加上注释后,执行基本正常,至于功能方面自己可以慢慢去完善。

另,"执行启动项"的设置是指系统的桌面启动后要执行的项目,如果桌面已启动,这个设置就无效了。

[ 本帖最后由 lxl1638 于 2008-4-25 09:58 PM 编辑 ]
回复

使用道具 举报

9#
 楼主| 发表于 2008-4-25 22:27:11 | 只看该作者
谢谢老九的回复。是的,代码上我是还没有完善的。我只是在想为什么窗口构建有问题。看来真正的原因找到了。还有就是你提示的“"默认的选择"没有存在的问题,我现在是故意的,就是想它不存在的话,就该执行下一个主体的语句了。是这样吧?
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-3-1 02:01

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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