无忧启动论坛

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

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

    [复制链接]
6961#
发表于 2013-12-14 13:11:10 | 只看该作者
回复

使用道具 举报

6962#
 楼主| 发表于 2013-12-14 14:13:14 | 只看该作者
caocaofff 发表于 2013-12-11 18:39
将一变量赋值到粘贴板的命令怎么写?还有清空粘贴板的命令?

┃    │    │※剪切板: ENVI^ Clipboard=字符串      //支持变量                                           ┃
┃    │    │※剪切板: ENVI^ Clipboard?=变量名     //查询                                               ┃
ENVI  ABC=1**67890 XXXX
ENVI^ Clipboard=%ABC%


清空粘贴板:

ENVI^ Clipboard=



回复

使用道具 举报

6963#
 楼主| 发表于 2013-12-14 14:15:05 | 只看该作者
hhh333 发表于 2013-12-14 07:40
最新版本80.14有问题:
1、登录到桌面以后再TEXT会有重影
2、64位一直有一个问题,做出的窗体中,点确定 ...

增大10k:
加了几个 PBR 资源。
回复

使用道具 举报

6964#
 楼主| 发表于 2013-12-14 14:18:48 | 只看该作者
本帖最后由 mdyblog 于 2013-12-14 18:38 编辑
hhh333 发表于 2013-12-14 07:40
最新版本80.14有问题:
1、登录到桌面以后再TEXT会有重影
2、64位一直有一个问题,做出的窗体中,点确定 ...

》》1、登录到桌面以后再TEXT会有重影
WIN8不同, 需要 LOGO  **

LOGO *top  **    //为TEXT命令准备一块画布
TEXT   ABCDEF


》》 2、64位一直有一个问题,做出的窗体中,点确定等命令按钮它不会有反应或者延时几秒钟才有反应,但如果将窗口移动一下,它立即就有反应。这次这个问题依旧,但这次更严重,双击执行一个产生窗体的脚本时无反应,要到桌面其他地方击鼠标才出窗体。
问题也太奇怪了!!! 我也用过 PE-64测试过。
建议你换个 PE-64 ,试试你的代码。
不行的话, 给个演示 PE 和测试代码吧。(测试代码简单点,不要超过20行)
----------------------------------
我又测试了下,正常,点OK,立即反应。 网上下载的纯64位8PE:Win8PE64.ISO 。   aa.wcs:
CALL @WIN1
_SUB  WIN1,W400H300,PECMD%&PECMDVER%
       ITEM Button3,L132T108W100H54,OK, MESS  OK@  #OK
_END


点评

刚才试了最新14号的版本,开启窗口慢好象改善了一点点,但开启后点确定无反应,但移动一下窗口或者在桌面其他地方点一下就立即执行,这个很诡异的现象还是存在。用其他64位也有。当然这个现象有时也不是每次出现。经  详情 回复 发表于 2013-12-14 23:09
回复

使用道具 举报

6965#
发表于 2013-12-14 23:09:54 | 只看该作者
mdyblog 发表于 2013-12-14 14:18
》》1、登录到桌面以后再TEXT会有重影
WIN8不同, 需要 LOGO  **

刚才试了最新14号的版本,开启窗口慢好象改善了一点点,但开启后点确定无反应,但移动一下窗口或者在桌面其他地方点一下就立即执行,这个很诡异的现象还是存在。用其他64位也有。当然这个现象有时也不是每次出现。经过仔细测试,原来是快捷方式引起,如果点右键用PECMD运行就不出现,但如果建立PECMD TEST.INI的快捷方式来执行就会出现这种怪现象。以下为我的代码:
  1. _SUB CancelButt        `窗体共用的计时退出代码
  2.         CALC #Result=%TT%-1
  3.         ENVI TT=%Result%
  4.         ENVI @Button1=确定(%TT%秒)
  5.         IFEX $%TT%<1,TEAM ENVI @Timer1=0|KILL \
  6. _END

  7. _SUB ManulSetLoadMode,W450H450,请选定维护模式(外置位置:%IniDiskType% %IniDir%),,SHELL32.DLL#21
  8.         ENVI TT=30        `TT为窗口停留时间
  9.         ENVI V0=0--纯内核          128MB
  10.         ENVI V1=1--基本维护        256MB
  11.         ENVI V2=2--网络维护        512MB
  12.         ENVI V3=3--影音播放        768MB
  13.         ENVI V4=4--办公系统        1024MB
  14.         ENVI VREM0=模式0:进行基本的文件操作。
  15.         ENVI VREM1=模式1:系统分区、安装、克隆、破密、数据救援。
  16.         ENVI VREM2=模式2:局域网维护、IE、迅雷、QQ,请驱动网卡!
  17.         ENVI VREM3=模式3:影音播放、图形处理,推荐驱动显、声、网卡。
  18.         ENVI VREM4=模式4:WPS2009、附加输入法,推荐启用三卡和打印机驱动。
  19.         ENVI VREMNEWWIM=W7/8驱动:支持多媒体,但要占与未压缩前等量内存。
  20.         ENVI VREMOLDWIM=XP03驱动:播放器可能异常,但总不占内存。

  21.         TEAM ENVI $CM_NET=0|ENVI RM_LAN=1|ENVI RM_PPP=0|ENVI RM_WAN=0|ENVI RM_RLT=1|ENVI RM_VBE=0|ENVI CM_PRT=0|ENVI CM_DX9=0

  22.         `按记忆值设置选定的单选按钮       
  23.         IFEX $%OLDMODE%<1,TEAM ENVI VREM=%VREM0%|ENVI R0=1!ENVI R0=0
  24.         IFEX $%OLDMODE%=1,TEAM ENVI VREM=%VREM1%|ENVI R1=1!ENVI R1=0
  25.         IFEX $%OLDMODE%=2,TEAM ENVI VREM=%VREM2%|ENVI R2=1!ENVI R2=0
  26.         IFEX $%OLDMODE%=3,TEAM ENVI VREM=%VREM3%|ENVI R3=1!ENVI R3=0
  27.         IFEX $%OLDMODE%=4,TEAM ENVI VREM=%VREM4%|ENVI R4=1!ENVI R4=0

  28.         `Wim驱动版本选择参数设定
  29.         IFEX $%OldNewWim%=1,TEAM ENVI RM_NEW=1|ENVI RM_OLD=0!TEAM ENVI RM_NEW=0|ENVI RM_OLD=1
  30.         IFEX $%ISNT6%=0,TEAM CALC #RM_NEW=%RM_NEW%-2|CALC #RM_OLD=%RM_OLD%-2
  31.         IFEX $%OLDMODE%<0,!TEAM CALC #RM_NEW=%RM_NEW%-2|CALC #RM_OLD=%RM_OLD%-2
  32.        
  33.         `文件不存在按钮变灰
  34.         IFEX $%ExistWIMDRV%<0,TEAM ENVI $CM_NET=-2|ENVI $CM_SND=-2|ENVI $CM_DSP=-2|ENVI $CM_PRT=-2|ENVI $CM_DX9=-2|ENVI RM_LAN=-1|ENVI RM_PPP=-2|ENVI RM_WAN=-2|ENVI RM_RLT=-1|ENVI RM_VBE=-2|ENVI CM_PRT=-2|ENVI CM_DX9=-2
  35.         IFEX $%ExistWIM1%<0,ENVI R1=-2
  36.         IFEX $%ExistWIM2%<0,ENVI R2=-2
  37.         IFEX $%ExistWIM3%<0,ENVI R3=-2
  38.         IFEX $%ExistWIM4%<0,ENVI R4=-2
  39.         ENVI CM2=%ExistWIMUOP%
  40.         IFEX $%IniReadOnly%>0,ENVI CM3=-2!ENVI CM3=0

  41.         `已驱动过一次则三卡按钮变灰
  42.         IFEX %WinDir%\LD_NET_WAN.OK,ENVI RM_WAN=-2
  43.         IFEX %WinDir%\LD_NET_LAN.OK,ENVI RM_LAN=-2
  44.         IFEX %WinDir%\LD_NET_PPP.OK,ENVI RM_PPP=-2
  45.         IFEX $%RM_WAN%=-2,IFEX $%RM_LAN%=-2,IFEX $%RM_PPP%=-2,ENVI $CM_NET=-2
  46.         IFEX %WinDir%\LD_SND.OK,ENVI CM_SND=-2
  47.         IFEX %WinDir%\LD_DSP.OK,TEAM ENVI CM_DSP=-2|ENVI RM_RLT=-1|ENVI RM_VBE=-2
  48.         IFEX %WinDir%\LD_PRT.OK,ENVI CM_PRT=-2
  49.         IFEX %WinDir%\LD_DX9.OK,ENVI CM_DX9=-2
  50.         IFEX $%ISNT6%=1,ENVI RM_VBE=-2

  51.         GROU Group0,L12T2W420H215,模式选择
  52.         `LABE Label1,L45T18W80H16,装载模式
  53.         LABE Label1,L150T18W80H16,推荐内存
  54.         LABE Label1,L300T18W80H16,驱动支撑

  55.         LABE lblline,L32T30W390H17,-----------------------------------------------------------------
  56.         RADI RadioButton0,L32T40W200H20,%V0%,TEAM ENVI @Timer1=0|ENVI @lblVREM=%VREM0%|ENVI @Check_NET.Check=0|ENVI @Check_DSP.Check=0|ENVI @Check_SND.Check=0|ENVI @Check_PRT.Check=0,%R0%
  57.         CHEK Check_NET,L240T40W80H20,驱动网卡→,ENVI @Timer1=0,%CM_NET%       
  58.         RADI RadioNetLAN,L330T40W40H16,有线,ENVI @Timer1=0,%RM_LAN%,1
  59.         RADI RadioPPPOE,L375T40W40H16,宽带,ENVI @Timer1=0,%RM_PPP%,1
  60.         RADI RadioNetWAN,L330T55W80H16,无线,ENVI @Timer1=0,%RM_WAN%,1

  61.         RADI RadioButton1,L32T70W200H20,%V1%,TEAM ENVI @Timer1=0|ENVI @lblVREM=%VREM1%|ENVI @Check_NET.Check=0|ENVI @Check_DSP.Check=0|ENVI @Check_SND.Check=0|ENVI @Check_PRT.Check=0,%R1%
  62.         CHEK Check_DSP,L240T70W80H20,驱动显卡→,TEAM ENVI @Timer1=0,%CM_DSP%       
  63.         RADI RadioDSPRLT,L330T70W80H16,真实驱动,ENVI @Timer1=0,%RM_RLT%,2
  64.         RADI RadioDSPVBE,L330T85W80H16,万能驱动,ENVI @Timer1=0,%RM_VBE%,2

  65.         RADI RadioButton2,L32T100W200H20,%V2%,TEAM ENVI @Timer1=0|ENVI @lblVREM=%VREM2%|ENVI @Check_NET.Check=1|ENVI @Check_DSP.Check=0|ENVI @Check_SND.Check=0|ENVI @Check_PRT.Check=0,%R2%
  66.         CHEK Check_SND,L240T100W80H20,驱动声卡,ENVI @Timer1=0,%CM_SND%       

  67.         RADI RadioButton3,L32T130W200H20,%V3%,TEAM ENVI @Timer1=0|ENVI @lblVREM=%VREM3%|ENVI @Check_NET.Check=0|ENVI @Check_DSP.Check=1|ENVI @Check_SND.Check=1|ENVI @Check_PRT.Check=0,%R3%
  68.         CHEK Check_PRT,L240T130W80H20,驱动打印机,ENVI @Timer1=0,%CM_PRT%       
  69.         ENVI DXV=DX9支持
  70.         FIND $%BootOS%=W7,ENVI DXV=DX11支持
  71.         FIND $%BootOS%=W8,ENVI DXV=DX11.1支持
  72.         RADI RadioButton4,L32T160W200H20,%V4%,TEAM ENVI @Timer1=0|ENVI @lblVREM=%VREM4%|ENVI @Check_NET.Check=1|ENVI @Check_DSP.Check=1|ENVI @Check_SND.Check=1|ENVI @Check_PRT.Check=1,%R4%
  73.         CHEK Check_DX9,L240T160W80H20,%DXV%,,%CM_DX9%       

  74.         GROU Group3,L325T110W100H70,选择Wim驱动
  75.         RADI RadioNewWim,L330T130W90H16,W7/8驱动,TEAM ENVI @Timer1=0|ENVI @lblVREM=%VREMNEWWIM%,%RM_NEW%,3
  76.         RADI RadioOldWim,L330T160W90H16,XP03驱动,TEAM ENVI @Timer1=0|ENVI @lblVREM=%VREMOLDWIM%,%RM_OLD%,3
  77.        
  78.         LABE lblline,L32T180W390H17,-----------------------------------------------------------------
  79.         LABE lblVREM,L32T195W385H17,%VREM%
  80.        
  81.         GROU Group2,L12T210W420H110
  82.         LABE Label2,L32T232W190H20,设置临时文件目录TEMP所在盘为
  83.         FDRV AllDrive=
  84.         FDRV CurTmpDrv=%TEMP%
  85.         LIST ListDrv,L212T230W100H120,%AllDrive%,ENVI @Timer1=0,%CurTmpDrv%
  86.         ITEM Button3,L317T230W30H22,...,TEAM ENVI sMSG=请选择临时文件存放的盘:|CALL SelectDrv
  87.         CHEK Check2,L32T260W330H20,装载用户自制工具程序..【由\H3PE下的 UOP.WIM 定义】,ENVI @Timer1=0,%CM2%
  88.         CHEK Check3,L32T290W330H20,重启后按以上方式操作..【不选则清除上次保存的配置】,ENVI @Timer1=0,%CM3%
  89.         LABE Label3,L20T330W400H35,提示1.选择后面的模式自动包括前面的程序,退出则由程序根据以上推荐内存容量自动选择装载模式。
  90.         LABE Label4,L20T360W400H35,  2.保存配置后,下次启动将取消按Ctrl键呼出本选单功能,进PE系统后重新装载本选单,通过清除配置可恢复Ctrl键功能。
  91.        
  92.         TEAM ENVI V0=|ENVI V1=|ENVI V2=|ENVI V3=|ENVI V4=
  93.         TEAM ENVI R0=|ENVI R1=|ENVI R2=|ENVI R3=|ENVI R4=|ENVI R4=|ENVI CM2=|ENVI CM3=
  94.         TEAM ENVI VREM0=|ENVI VREM1=|ENVI VREM2=|ENVI VREM3=|ENVI VREM4=|ENVI VREM=
  95.         TEAM ENVI AllDrive=|ENVI CurTmpDrv=
  96.         ITEM Button1,L320T395W88H24,确定,CALL CheckMode
  97.         TIME Timer1,1000,CALL CancelButt
  98. _END

  99. _SUB CheckMode        `上述“确定”按钮
  100.         ENVI SELECTMODE=手动选择
  101.         IFEX $%RadioButton0.Check%=1,ENVI $LOADMODE=0
  102.         IFEX $%RadioButton1.Check%=1,ENVI $LOADMODE=1
  103.         IFEX $%RadioButton2.Check%=1,ENVI $LOADMODE=2
  104.         IFEX $%RadioButton3.Check%=1,ENVI $LOADMODE=3
  105.         IFEX $%RadioButton4.Check%=1,ENVI $LOADMODE=4
  106.         ENVI LOADUOP=%Check2.Check%
  107.         ENVI TMPDRV=%ListDrv%
  108.         ENVI $CM_SND=%Check_SND.Check%
  109.         ENVI $CM_PRT=%Check_PRT.Check%
  110.         ENVI $CM_DX9=%Check_DX9.Check%

  111.         IFEX $%RadioNetLAN.Check%=1,ENVI $CM_NET=1
  112.         IFEX $%RadioPPPOE.Check%=1,ENVI $CM_NET=2
  113.         IFEX $%RadioNetWAN.Check%=1,ENVI $CM_NET=3
  114.         IFEX $%RadioDSPRLT.Check%=1,ENVI $CM_DSP=1
  115.         IFEX $%RadioDSPVBE.Check%=1,ENVI $CM_DSP=2
  116.         IFEX $%Check_NET.Check%=0,ENVI $CM_NET=0
  117.         IFEX $%Check_DSP.Check%=0,ENVI $CM_DSP=0

  118.         IFEX $%RadioNewWim.Enable%>0,IFEX $%RadioNewWim.Check%=1,IFEX $%OldNewWim%=0,ENVI CurNewWim=1
  119.         IFEX $%RadioOldWim.Enable%>0,IFEX $%RadioOldWim.Check%=1,IFEX $%OldNewWim%=1,ENVI CurNewWim=0

  120.         `如果复选框为灰色则置贮存Check状态值的变量为0
  121.         IFEX $%Check_NET.Enable%=0,ENVI $CM_NET=0
  122.         IFEX $%Check_SND.Enable%=0,ENVI $CM_SND=0
  123.         IFEX $%Check_DSP.Enable%=0,ENVI $CM_DSP=0
  124.         IFEX $%Check_PRT.Enable%=0,ENVI $CM_PRT=0
  125.         IFEX $%Check_DX9.Enable%=0,ENVI $CM_DX9=0

  126.         `保存配置
  127.         IFEX $%Check3.Check%=1,TEAM EXEC =*CMD.EXE /C "ECHO ENVI $LOADMODE=%LOADMODE% >%CFG%"|EXEC =*CMD.EXE /C "ECHO ENVI LOADUOP=%LOADUOP% >>%CFG%"|EXEC =*CMD.EXE /C "ECHO ENVI TMPDRV=%TMPDRV% >>%CFG%"|EXEC =*CMD.EXE /C "ECHO ENVI $CM_NET=%CM_NET% >>%CFG%"|EXEC =*CMD.EXE /C "ECHO ENVI $CM_SND=%CM_SND% >>%CFG%"|EXEC =*CMD.EXE /C "ECHO ENVI $CM_DSP=%CM_DSP% >>%CFG%"|EXEC =*CMD.EXE /C "ECHO ENVI $CM_PRT=%CM_PRT%|EXEC =*CMD.EXE /C "ECHO ENVI $CM_DX9=%CM_DX9% >>%CFG%"!IFEX %CFG%,FILE %CFG%
  128.         KILL \
  129. _END
  130. CALL ManulSetLoadMode
复制代码

点评

ENVI $后台 的功能 内置了 201201.80.14.04 201201.78.21.03 EVNI [$][#][-]【*】[名称]=值 前导"$"表示设置系统级环境变量,"#"表示设置用户级环境变量,可同时用;均广播所有程序,5秒等待超 时,且系  详情 回复 发表于 2013-12-16 01:01
窗口中划线 : LABE+ ,L32T187W390H1, //LABE+ 划横线 LABE+ ,L26T42W1H166,, //LABE+ 划竖线 Explorer 重启后,窗口托盘 如何重启? _SUB WIN1,W289H244, 测试 ENVI @this.MSG=_%&WM_TaskbarRest  详情 回复 发表于 2013-12-15 14:27
回复

使用道具 举报

6966#
 楼主| 发表于 2013-12-15 11:57:13 | 只看该作者
本帖最后由 mdyblog 于 2013-12-15 15:45 编辑
hhh333 发表于 2013-12-14 23:09
刚才试了最新14号的版本,开启窗口慢好象改善了一点点,但开启后点确定无反应,但移动一下窗口或者在桌面 ...

记得我优化过这段代码。
慎用 ENVI $ ENVI #
前导"$"表示设置系统级环境变量,"#"表示设置用户级环境变量,可同时用;均广播所有程序(5秒等待超时)
而且导致系统很忙!!

ENVI $A=1 2 3
用多线程去慢慢玩吧,写为  
TEAM   ENVI A=1 2 3|  THREAD*   ENVI $A=1 2 3
这里有个 辅助函数,
//ENVIGDelay 非阻塞设置全局变量
//    最后    【THREAD* ENVI】 或 【ENVI】一次系统同步,系统不忙
//ENVIGDelay  <$|#>名字=值

如:
ENVIGDelay   $A= 123
ENVIGDelay   #B= 123
ENVIGDelay   $C= 123
THREAD* ENVI
优化代码如下及附件。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
ENVI^  EnviMode=1 //防止灵异事件!!
_SUB CancelButt        `窗体共用的计时退出代码
        CALC #Result=%TT%-1
        ENVI TT=%Result%
        ENVI @Button1=确定(%TT%秒)
        IFEX $%TT%<1,TEAM ENVI @Timer1=0|KILL \
_END

_SUB ManulSetLoadMode,W450H450,请选定维护模式(外置位置:%IniDiskType% %IniDir%),,SHELL32.DLL#21
        ENVI TT=30        `TT为窗口停留时间
        ENVI V0=0--纯内核          128MB
        ENVI V1=1--基本维护        256MB
        ENVI V2=2--网络维护        512MB
        ENVI V3=3--影音播放        768MB
        ENVI V4=4--办公系统        1024MB
        ENVI VREM0=模式0:进行基本的文件操作。
        ENVI VREM1=模式1:系统分区、安装、克隆、破密、数据救援。
        ENVI VREM2=模式2:局域网维护、IE、迅雷、QQ,请驱动网卡!
        ENVI VREM3=模式3:影音播放、图形处理,推荐驱动显、声、网卡。
        ENVI VREM4=模式4:WPS2009、附加输入法,推荐启用三卡和打印机驱动。
        ENVI VREMNEWWIM=W7/8驱动:支持多媒体,但要占与未压缩前等量内存。
        ENVI VREMOLDWIM=XP03驱动:播放器可能异常,但总不占内存。

        TEAM ENVIGDelay $CM_NET=0|ENVI RM_LAN=1|ENVI RM_PPP=0|ENVI RM_WAN=0|
            \ ENVI RM_RLT=1|ENVI RM_VBE=0|ENVI CM_PRT=0|ENVI CM_DX9=0

        `按记忆值设置选定的单选按钮        
        IFEX $%OLDMODE%<1,TEAM ENVI VREM=%VREM0%|ENVI R0=1!ENVI R0=0
        IFEX $%OLDMODE%=1,TEAM ENVI VREM=%VREM1%|ENVI R1=1!ENVI R1=0
        IFEX $%OLDMODE%=2,TEAM ENVI VREM=%VREM2%|ENVI R2=1!ENVI R2=0
        IFEX $%OLDMODE%=3,TEAM ENVI VREM=%VREM3%|ENVI R3=1!ENVI R3=0
        IFEX $%OLDMODE%=4,TEAM ENVI VREM=%VREM4%|ENVI R4=1!ENVI R4=0

        `Wim驱动版本选择参数设定
        IFEX $%OldNewWim%=1,TEAM ENVI RM_NEW=1|ENVI RM_OLD=0!TEAM ENVI RM_NEW=0|ENVI RM_OLD=1
        IFEX $%ISNT6%=0,TEAM CALC #RM_NEW=%RM_NEW%-2|CALC #RM_OLD=%RM_OLD%-2
        IFEX $%OLDMODE%<0,!TEAM CALC #RM_NEW=%RM_NEW%-2|CALC #RM_OLD=%RM_OLD%-2
        
        `文件不存在按钮变灰
        IFEX $%ExistWIMDRV%<0,TEAM ENVIGDelay $CM_NET=-2|ENVIG $CM_SND=-2|ENVIG $CM_DSP=-2|
            \ ENVIG $CM_PRT=-2|ENVIG $CM_DX9=-2|ENVI RM_LAN=-1|ENVI RM_PPP=-2|ENVI RM_WAN=-2|
            \ ENVI RM_RLT=-1| ENVI RM_VBE=-2|ENVI CM_PRT=-2|ENVI CM_DX9=-2
        IFEX $%ExistWIM1%<0,ENVI R1=-2
        IFEX $%ExistWIM2%<0,ENVI R2=-2
        IFEX $%ExistWIM3%<0,ENVI R3=-2
        IFEX $%ExistWIM4%<0,ENVI R4=-2
        ENVI CM2=%ExistWIMUOP%
        IFEX $%IniReadOnly%>0,ENVI CM3=-2!ENVI CM3=0

        `已驱动过一次则三卡按钮变灰
        IFEX %WinDir%\LD_NET_WAN.OK,ENVI RM_WAN=-2
        IFEX %WinDir%\LD_NET_LAN.OK,ENVI RM_LAN=-2
        IFEX %WinDir%\LD_NET_PPP.OK,ENVI RM_PPP=-2
        IFEX $%RM_WAN%=-2,IFEX $%RM_LAN%=-2,IFEX $%RM_PPP%=-2,ENVIGDelay $CM_NET=-2
        IFEX %WinDir%\LD_SND.OK,ENVI CM_SND=-2
        IFEX %WinDir%\LD_DSP.OK,TEAM ENVI CM_DSP=-2|ENVI RM_RLT=-1|ENVI RM_VBE=-2
        IFEX %WinDir%\LD_PRT.OK,ENVI CM_PRT=-2
        IFEX %WinDir%\LD_DX9.OK,ENVI CM_DX9=-2
        IFEX $%ISNT6%=1,ENVI RM_VBE=-2

        GROU Group0,L12T2W420H215,模式选择
        LABE ,L45T18W80H16,装载模式
        LABE ,L150T18W80H16,推荐内存
        LABE ,L300T18W80H16,驱动支撑

        //LABE ,L32T30W390H17,-----------------------------------------------------------------
        LABE+ ,L32T36W390H1,  //LABE+ 划线
        RADI RadioButton0,L32T40W200H20,%V0%,TEAM ENVI @Timer1=0|ENVI @lblVREM=%VREM0%|
            \ ENVI @Check_NET.Check=0|ENVI @Check_DSP.Check=0|ENVI @Check_SND.Check=0|
            \ ENVI @Check_PRT.Check=0,%R0%
        CHEK Check_NET,L240T40W80H20,驱动网卡→,ENVI @Timer1=0,%CM_NET%        
        RADI RadioNetLAN,L330T40W40H16,有线,ENVI @Timer1=0,%RM_LAN%,1
        RADI RadioPPPOE,L377T40W42H16,宽带,ENVI @Timer1=0,%RM_PPP%,1
        RADI RadioNetWAN,L330T55W80H16,无线,ENVI @Timer1=0,%RM_WAN%,1

        RADI RadioButton1,L32T70W200H20,%V1%,TEAM ENVI @Timer1=0|ENVI @lblVREM=%VREM1%|
            \ ENVI @Check_NET.Check=0|ENVI @Check_DSP.Check=0|ENVI @Check_SND.Check=0|
            \ ENVI @Check_PRT.Check=0,%R1%
        CHEK Check_DSP,L240T70W80H20,驱动显卡→,TEAM ENVI @Timer1=0,%CM_DSP%        
        RADI RadioDSPRLT,L330T70W80H16,真实驱动,ENVI @Timer1=0,%RM_RLT%,2
        RADI RadioDSPVBE,L330T85W80H16,万能驱动,ENVI @Timer1=0,%RM_VBE%,2

        RADI RadioButton2,L32T100W200H20,%V2%,TEAM ENVI @Timer1=0|ENVI @lblVREM=%VREM2%|
            \ ENVI @Check_NET.Check=1|ENVI @Check_DSP.Check=0|ENVI @Check_SND.Check=0|
            \ ENVI @Check_PRT.Check=0,%R2%
        CHEK Check_SND,L240T100W80H20,驱动声卡,ENVI @Timer1=0,%CM_SND%        

        RADI RadioButton3,L32T130W200H20,%V3%,TEAM ENVI @Timer1=0|ENVI @lblVREM=%VREM3%|
            \ ENVI @Check_NET.Check=0|ENVI @Check_DSP.Check=1|ENVI @Check_SND.Check=1|
            \ ENVI @Check_PRT.Check=0,%R3%
        CHEK Check_PRT,L240T130W80H20,驱动打印机,ENVI @Timer1=0,%CM_PRT%        
        ENVI DXV=DX9支持
        FIND $%BootOS%=W7,ENVI DXV=DX11支持
        FIND $%BootOS%=W8,ENVI DXV=DX11.1支持
        RADI RadioButton4,L32T160W200H20,%V4%,TEAM ENVI @Timer1=0|ENVI @lblVREM=%VREM4%|
            \ ENVI @Check_NET.Check=1|ENVI @Check_DSP.Check=1|ENVI @Check_SND.Check=1|
            \ ENVI @Check_PRT.Check=1,%R4%
        CHEK Check_DX9,L240T160W80H20,%DXV%,,%CM_DX9%        

        GROU Group3,L325T110W100H70,选择Wim驱动
        RADI RadioNewWim,L330T130W90H16,W7/8驱动,TEAM ENVI @Timer1=0|
            \ ENVI @lblVREM=%VREMNEWWIM%,%RM_NEW%,3
        RADI RadioOldWim,L330T160W90H16,XP03驱动,TEAM ENVI @Timer1=0|
            \ ENVI @lblVREM=%VREMOLDWIM%,%RM_OLD%,3
        
        //LABE ,L32T180W390H17,-----------------------------------------------------------------
        LABE+ ,L32T187W390H1,   //LABE+ 划线
        LABE lblVREM,L32T195W385H17,%VREM%
        
        GROU Group2,L12T210W420H110
        LABE ,L32T232W190H20,设置临时文件目录TEMP所在盘为
        FDRV AllDrive=
        FDRV CurTmpDrv=%TEMP%
        LIST ListDrv,L212T230W100H120,%AllDrive%,ENVI @Timer1=0,%CurTmpDrv%
        ITEM Button3,L317T230W30H22,...,TEAM ENVI sMSG=请选择临时文件存放的盘:|CALL SelectDrv
        CHEK Check2,L32T260W330H20,装载用户自制工具程序..【由\H3PE下的 UOP.WIM 定义】,
            \ ENVI @Timer1=0,%CM2%
        CHEK Check3,L32T290W330H20,重启后按以上方式操作..【不选则清除上次保存的配置】,
            \ ENVI @Timer1=0,%CM3%
        LABE ,L20T330W400H35,提示1.选择后面的模式自动包括前面的程序,退出则由程序根据以
            \上推荐内存容量自动选择装载模式。
        LABE ,L20T360W400H35,  2.保存配置后,下次启动将取消按Ctrl键呼出本选单功能,进
            \PE系统后重新装载本选单,通过清除配置可恢复Ctrl键功能。
        
        TEAM ENVI V0=|ENVI V1=|ENVI V2=|ENVI V3=|ENVI V4=
        TEAM ENVI R0=|ENVI R1=|ENVI R2=|ENVI R3=|ENVI R4=|ENVI R4=|ENVI CM2=|ENVI CM3=
        TEAM ENVI VREM0=|ENVI VREM1=|ENVI VREM2=|ENVI VREM3=|ENVI VREM4=|ENVI VREM=
        TEAM ENVI AllDrive=|ENVI CurTmpDrv=
        ITEM Button1,L320T395W88H24,确定,CALL CheckMode
        TIME Timer1,1000,CALL CancelButt
        THREAD* ENVI  //一次同步,系统不忙
_END

_SUB CheckMode        `上述“确定”按钮
        ENVI SELECTMODE=手动选择
        IFEX $%RadioButton0.Check%=1,ENVIGDelay $LOADMODE=0
        IFEX $%RadioButton1.Check%=1,ENVIGDelay $LOADMODE=1
        IFEX $%RadioButton2.Check%=1,ENVIGDelay $LOADMODE=2
        IFEX $%RadioButton3.Check%=1,ENVIGDelay $LOADMODE=3
        IFEX $%RadioButton4.Check%=1,ENVIGDelay $LOADMODE=4
        ENVI LOADUOP=%Check2.Check%
        ENVI TMPDRV=%ListDrv%
        ENVIGDelay $CM_SND=%Check_SND.Check%
        ENVIGDelay $CM_PRT=%Check_PRT.Check%
        ENVIGDelay $CM_DX9=%Check_DX9.Check%

        IFEX $%RadioNetLAN.Check%=1,ENVIGDelay $CM_NET=1
        IFEX $%RadioPPPOE.Check%=1,ENVIGDelay $CM_NET=2
        IFEX $%RadioNetWAN.Check%=1,ENVIGDelay $CM_NET=3
        IFEX $%RadioDSPRLT.Check%=1,ENVIGDelay $CM_DSP=1
        IFEX $%RadioDSPVBE.Check%=1,ENVIGDelay $CM_DSP=2
        IFEX $%Check_NET.Check%=0,ENVIGDelay $CM_NET=0
        IFEX $%Check_DSP.Check%=0,ENVIGDelay $CM_DSP=0

        IFEX $%RadioNewWim.Enable%>0,IFEX $%RadioNewWim.Check%=1,IFEX $%OldNewWim%=0,
            \ ENVI CurNewWim=1
        IFEX $%RadioOldWim.Enable%>0,IFEX $%RadioOldWim.Check%=1,IFEX $%OldNewWim%=1,
            \ ENVI CurNewWim=0

        `如果复选框为灰色则置贮存Check状态值的变量为0
        IFEX $%Check_NET.Enable%=0,ENVIGDelay $CM_NET=0
        IFEX $%Check_SND.Enable%=0,ENVIGDelay $CM_SND=0
        IFEX $%Check_DSP.Enable%=0,ENVIGDelay $CM_DSP=0
        IFEX $%Check_PRT.Enable%=0,ENVIGDelay $CM_PRT=0
        IFEX $%Check_DX9.Enable%=0,ENVIGDelay $CM_DX9=0

        `保存配置
        IFEX $%Check3.Check%=1,
        {
            ENVI^  EnviMode=1 //必须的!!!
            @ SET-def KK=/
            FIND $%CFG%=,!!  EXIT -
            PUTF -dd -len=0 %CFG%,0,zero  //清0长度
            WRIT %CFG%,$+0,_SUB ENVIGDelay
            WRIT %CFG%,$+0,    @ ENVI^  EnviMode=1 //必须的!!!
            WRIT %CFG%,$+0,    @ LPOS &&p==,,%%*
            WRIT %CFG%,$+0,    @ IFEX $%%&&p%%<1, EXIT
            WRIT %CFG%,$+0,    @ CALC &&q=%%&&p%% - 2
            WRIT %CFG%,$+0,    @ LSTR &&TP=1,%%*
            WRIT %CFG%,$+0,    @ MSTR &&nm=2,%%&&q%%,%%*
            WRIT %CFG%,$+0,    @ CALC &&r=%%&&p%% + 1
            WRIT %CFG%,$+0,    @ MSTR &&v=%%&&r%%,-1,%%*
            WRIT %CFG%,$+0,    ENVI %%&&nm%%=%%&&v%%
            WRIT %CFG%,$+0,    @ FIND $%%&&TP%%=#, REGI $HKEY_CURRENT_USER\Environment\
   \%%&&nm%%=%%&v%%! REGI $HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\
   \Session Manager\Environment\%%&&nm%%=%%&v%%
            WRIT %CFG%,$+0,_END
            WRIT %CFG%,$+0,ENVIGDelay $LOADMODE=%LOADMODE%
            WRIT %CFG%,$+0,ENVIGDelay $LOADUOP=%LOADUOP%
            WRIT %CFG%,$+0,ENVIGDelay $TMPDRV=%TMPDRV%
            WRIT %CFG%,$+0,ENVIGDelay $CM_NET=%CM_NET%
            WRIT %CFG%,$+0,ENVIGDelay $CM_SND=%CM_SND%
            WRIT %CFG%,$+0,ENVIGDelay $CM_DSP=%CM_DSP%
            WRIT %CFG%,$+0,ENVIGDelay $CM_PRT=%CM_PRT%
            WRIT %CFG%,$+0,ENVIGDelay $CM_DX9=%CM_DX9%
            WRIT %CFG%,$+0,THREAD* ENVI  %&KK%//一次同步,系统不忙
        }!
        {
            IFEX %CFG%, FILE %CFG%
        }
        THREAD* ENVI  //一次同步,系统不忙
        KILL \
_END
CALL ManulSetLoadMode

//ENVIGDelay  非阻塞设置全局变量
//    最后    【THREAD* ENVI】 或 【ENVI】一次系统同步,系统不忙
//ENVIGDelay  <$|#>名字=值
_SUB ENVIGDelay
    @ LPOS &&p==,,%*
    @ IFEX $%&&p%<1, EXIT
    @ CALC &&q=%&&p% - 2
    @ LSTR &&TP=1,%*
    @ MSTR &&nm=2,%&&q%,%*
    @ CALC &&r=%&&p% + 1
    @ MSTR &&v=%&&r%,-1,%*
    ENVI %&&nm%=%&&v%
    @ FIND $%&&TP%=#, REGI $HKEY_CURRENT_USER\Environment\%&&nm%=%&v%! REGI $HKEY_LOC
\AL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\%&&nm%=%&v%
_END  

Snap1.gif (14.8 KB, 下载次数: 102)

Snap1.gif

多线程优化的ManulSetLoadMode.wcs.zip

3.62 KB, 下载次数: 3

优化后的代码

回复

使用道具 举报

6967#
 楼主| 发表于 2013-12-15 14:27:45 | 只看该作者

窗口中划线 托盘重启

本帖最后由 mdyblog 于 2013-12-15 14:29 编辑

窗口中划线  :
LABE+ ,L32T187W390H1,   //LABE+ 划横线

LABE+ ,L26T42W1H166,,   //LABE+ 划竖线


Explorer 重启后,窗口托盘 如何重启?

_SUB WIN1,W289H244, 测试
    ENVI @this.MSG=_%&WM_TaskbarRestart%: TEAM TIPS* *| TIPS* 测试,,,,SHELL32.DLL#9
    TIPS* 测试,,,,SHELL32.DLL#9
_END

回复

使用道具 举报

6968#
 楼主| 发表于 2013-12-16 01:01:50 | 只看该作者
本帖最后由 mdyblog 于 2013-12-16 01:15 编辑
hhh333 发表于 2013-12-14 23:09
刚才试了最新14号的版本,开启窗口慢好象改善了一点点,但开启后点确定无反应,但移动一下窗口或者在桌面 ...


ENVI $后台 的功能 内置了 201201.80.14.04   201201.78.21.03
EVNI   [$][#][-]【*】[名称]=值

前导"$"表示设置系统级环境变量,"#"表示设置用户级环境变量,可同时用;均广播所有程序,5秒等待超
   时,且系统忙。*-配合$#, -为THREAD后台广播*只设置系统,不广播,后面可以EIVI来一次广播

ENVI  $*A1=123
ENVI  $*A2=123
ENVI  $*A3=123
ENVI  $*A4=123
ENVI  $*A5=123
THREAD  ENVI   //最后一次系统同步。

内部优化了,自动合并临近的 【ENVI $-】的系统同步操作,其实也可以(用 ENVI $-, 最后不用 THREAD ENVI ):。
ENVI  $-A1=123
ENVI  $-A2=123
ENVI  $-A3=123
ENVI  $-A4=123
ENVI  $-A5=123
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
ENVI^  EnviMode=1 //防止灵异事件!!
_SUB CancelButt        `窗体共用的计时退出代码
        CALC #Result=%TT%-1
        ENVI TT=%Result%
        ENVI @Button1=确定(%TT%秒)
        IFEX $%TT%<1,TEAM ENVI @Timer1=0|KILL \
_END

_SUB ManulSetLoadMode,W450H450,请选定维护模式(外置位置:%IniDiskType% %IniDir%),,SHELL32.DLL#21
        ENVI TT=30        `TT为窗口停留时间
        ENVI V0=0--纯内核          128MB
        ENVI V1=1--基本维护        256MB
        ENVI V2=2--网络维护        512MB
        ENVI V3=3--影音播放        768MB
        ENVI V4=4--办公系统        1024MB
        ENVI VREM0=模式0:进行基本的文件操作。
        ENVI VREM1=模式1:系统分区、安装、克隆、破密、数据救援。
        ENVI VREM2=模式2:局域网维护、IE、迅雷、QQ,请驱动网卡!
        ENVI VREM3=模式3:影音播放、图形处理,推荐驱动显、声、网卡。
        ENVI VREM4=模式4:WPS2009、附加输入法,推荐启用三卡和打印机驱动。
        ENVI VREMNEWWIM=W7/8驱动:支持多媒体,但要占与未压缩前等量内存。
        ENVI VREMOLDWIM=XP03驱动:播放器可能异常,但总不占内存。

        TEAM ENVI $-CM_NET=0|ENVI RM_LAN=1|ENVI RM_PPP=0|ENVI RM_WAN=0|
            \ ENVI RM_RLT=1|ENVI RM_VBE=0|ENVI CM_PRT=0|ENVI CM_DX9=0

        `按记忆值设置选定的单选按钮        
        IFEX $%OLDMODE%<1,TEAM ENVI VREM=%VREM0%|ENVI R0=1!ENVI R0=0
        IFEX $%OLDMODE%=1,TEAM ENVI VREM=%VREM1%|ENVI R1=1!ENVI R1=0
        IFEX $%OLDMODE%=2,TEAM ENVI VREM=%VREM2%|ENVI R2=1!ENVI R2=0
        IFEX $%OLDMODE%=3,TEAM ENVI VREM=%VREM3%|ENVI R3=1!ENVI R3=0
        IFEX $%OLDMODE%=4,TEAM ENVI VREM=%VREM4%|ENVI R4=1!ENVI R4=0

        `Wim驱动版本选择参数设定
        IFEX $%OldNewWim%=1,TEAM ENVI RM_NEW=1|ENVI RM_OLD=0!TEAM ENVI RM_NEW=0|ENVI RM_OLD=1
        IFEX $%ISNT6%=0,TEAM CALC #RM_NEW=%RM_NEW%-2|CALC #RM_OLD=%RM_OLD%-2
        IFEX $%OLDMODE%<0,!TEAM CALC #RM_NEW=%RM_NEW%-2|CALC #RM_OLD=%RM_OLD%-2
        
        `文件不存在按钮变灰
        IFEX $%ExistWIMDRV%<0,TEAM ENVI $-CM_NET=-2|ENVIG $CM_SND=-2|ENVIG $CM_DSP=-2|
            \ ENVIG $CM_PRT=-2|ENVIG $CM_DX9=-2|ENVI RM_LAN=-1|ENVI RM_PPP=-2|ENVI RM_WAN=-2|
            \ ENVI RM_RLT=-1| ENVI RM_VBE=-2|ENVI CM_PRT=-2|ENVI CM_DX9=-2
        IFEX $%ExistWIM1%<0,ENVI R1=-2
        IFEX $%ExistWIM2%<0,ENVI R2=-2
        IFEX $%ExistWIM3%<0,ENVI R3=-2
        IFEX $%ExistWIM4%<0,ENVI R4=-2
        ENVI CM2=%ExistWIMUOP%
        IFEX $%IniReadOnly%>0,ENVI CM3=-2!ENVI CM3=0

        `已驱动过一次则三卡按钮变灰
        IFEX %WinDir%\LD_NET_WAN.OK,ENVI RM_WAN=-2
        IFEX %WinDir%\LD_NET_LAN.OK,ENVI RM_LAN=-2
        IFEX %WinDir%\LD_NET_PPP.OK,ENVI RM_PPP=-2
        IFEX $%RM_WAN%=-2,IFEX $%RM_LAN%=-2,IFEX $%RM_PPP%=-2,ENVI $-CM_NET=-2
        IFEX %WinDir%\LD_SND.OK,ENVI CM_SND=-2
        IFEX %WinDir%\LD_DSP.OK,TEAM ENVI CM_DSP=-2|ENVI RM_RLT=-1|ENVI RM_VBE=-2
        IFEX %WinDir%\LD_PRT.OK,ENVI CM_PRT=-2
        IFEX %WinDir%\LD_DX9.OK,ENVI CM_DX9=-2
        IFEX $%ISNT6%=1,ENVI RM_VBE=-2

        GROU Group0,L12T2W420H215,模式选择
        LABE ,L45T18W80H16,装载模式
        LABE ,L150T18W80H16,推荐内存
        LABE ,L300T18W80H16,驱动支撑

        //LABE ,L32T30W390H17,-----------------------------------------------------------------
        LABE+ ,L32T36W390H1,  //LABE+ 划线
        RADI RadioButton0,L32T40W200H20,%V0%,TEAM ENVI @Timer1=0|ENVI @lblVREM=%VREM0%|
            \ ENVI @Check_NET.Check=0|ENVI @Check_DSP.Check=0|ENVI @Check_SND.Check=0|
            \ ENVI @Check_PRT.Check=0,%R0%
        CHEK Check_NET,L240T40W80H20,驱动网卡→,ENVI @Timer1=0,%CM_NET%        
        RADI RadioNetLAN,L330T40W40H16,有线,ENVI @Timer1=0,%RM_LAN%,1
        RADI RadioPPPOE,L377T40W42H16,宽带,ENVI @Timer1=0,%RM_PPP%,1
        RADI RadioNetWAN,L330T55W80H16,无线,ENVI @Timer1=0,%RM_WAN%,1

        RADI RadioButton1,L32T70W200H20,%V1%,TEAM ENVI @Timer1=0|ENVI @lblVREM=%VREM1%|
            \ ENVI @Check_NET.Check=0|ENVI @Check_DSP.Check=0|ENVI @Check_SND.Check=0|
            \ ENVI @Check_PRT.Check=0,%R1%
        CHEK Check_DSP,L240T70W80H20,驱动显卡→,TEAM ENVI @Timer1=0,%CM_DSP%        
        RADI RadioDSPRLT,L330T70W80H16,真实驱动,ENVI @Timer1=0,%RM_RLT%,2
        RADI RadioDSPVBE,L330T85W80H16,万能驱动,ENVI @Timer1=0,%RM_VBE%,2

        RADI RadioButton2,L32T100W200H20,%V2%,TEAM ENVI @Timer1=0|ENVI @lblVREM=%VREM2%|
            \ ENVI @Check_NET.Check=1|ENVI @Check_DSP.Check=0|ENVI @Check_SND.Check=0|
            \ ENVI @Check_PRT.Check=0,%R2%
        CHEK Check_SND,L240T100W80H20,驱动声卡,ENVI @Timer1=0,%CM_SND%        

        RADI RadioButton3,L32T130W200H20,%V3%,TEAM ENVI @Timer1=0|ENVI @lblVREM=%VREM3%|
            \ ENVI @Check_NET.Check=0|ENVI @Check_DSP.Check=1|ENVI @Check_SND.Check=1|
            \ ENVI @Check_PRT.Check=0,%R3%
        CHEK Check_PRT,L240T130W80H20,驱动打印机,ENVI @Timer1=0,%CM_PRT%        
        ENVI DXV=DX9支持
        FIND $%BootOS%=W7,ENVI DXV=DX11支持
        FIND $%BootOS%=W8,ENVI DXV=DX11.1支持
        RADI RadioButton4,L32T160W200H20,%V4%,TEAM ENVI @Timer1=0|ENVI @lblVREM=%VREM4%|
            \ ENVI @Check_NET.Check=1|ENVI @Check_DSP.Check=1|ENVI @Check_SND.Check=1|
            \ ENVI @Check_PRT.Check=1,%R4%
        CHEK Check_DX9,L240T160W80H20,%DXV%,,%CM_DX9%        

        GROU Group3,L325T110W100H70,选择Wim驱动
        RADI RadioNewWim,L330T130W90H16,W7/8驱动,TEAM ENVI @Timer1=0|
            \ ENVI @lblVREM=%VREMNEWWIM%,%RM_NEW%,3
        RADI RadioOldWim,L330T160W90H16,XP03驱动,TEAM ENVI @Timer1=0|
            \ ENVI @lblVREM=%VREMOLDWIM%,%RM_OLD%,3
        
        //LABE ,L32T180W390H17,-----------------------------------------------------------------
        LABE+ ,L32T187W390H1,   //LABE+ 划线
        LABE lblVREM,L32T195W385H17,%VREM%
        
        GROU Group2,L12T210W420H110
        LABE ,L32T232W190H20,设置临时文件目录TEMP所在盘为
        FDRV AllDrive=
        FDRV CurTmpDrv=%TEMP%
        LIST ListDrv,L212T230W100H120,%AllDrive%,ENVI @Timer1=0,%CurTmpDrv%
        ITEM Button3,L317T230W30H22,...,TEAM ENVI sMSG=请选择临时文件存放的盘:|CALL SelectDrv
        CHEK Check2,L32T260W330H20,装载用户自制工具程序..【由\H3PE下的 UOP.WIM 定义】,
            \ ENVI @Timer1=0,%CM2%
        CHEK Check3,L32T290W330H20,重启后按以上方式操作..【不选则清除上次保存的配置】,
            \ ENVI @Timer1=0,%CM3%
        LABE ,L20T330W400H35,提示1.选择后面的模式自动包括前面的程序,退出则由程序根据以
            \上推荐内存容量自动选择装载模式。
        LABE ,L20T360W400H35,  2.保存配置后,下次启动将取消按Ctrl键呼出本选单功能,进
            \PE系统后重新装载本选单,通过清除配置可恢复Ctrl键功能。
        
        TEAM ENVI V0=|ENVI V1=|ENVI V2=|ENVI V3=|ENVI V4=
        TEAM ENVI R0=|ENVI R1=|ENVI R2=|ENVI R3=|ENVI R4=|ENVI R4=|ENVI CM2=|ENVI CM3=
        TEAM ENVI VREM0=|ENVI VREM1=|ENVI VREM2=|ENVI VREM3=|ENVI VREM4=|ENVI VREM=
        TEAM ENVI AllDrive=|ENVI CurTmpDrv=
        ITEM Button1,L320T395W88H24,确定,CALL CheckMode
        TIME Timer1,1000,CALL CancelButt
_END

_SUB CheckMode        `上述“确定”按钮
        ENVI SELECTMODE=手动选择
        IFEX $%RadioButton0.Check%=1,ENVI $-LOADMODE=0
        IFEX $%RadioButton1.Check%=1,ENVI $-LOADMODE=1
        IFEX $%RadioButton2.Check%=1,ENVI $-LOADMODE=2
        IFEX $%RadioButton3.Check%=1,ENVI $-LOADMODE=3
        IFEX $%RadioButton4.Check%=1,ENVI $-LOADMODE=4
        ENVI LOADUOP=%Check2.Check%
        ENVI TMPDRV=%ListDrv%
        ENVI $-CM_SND=%Check_SND.Check%
        ENVI $-CM_PRT=%Check_PRT.Check%
        ENVI $-CM_DX9=%Check_DX9.Check%

        IFEX $%RadioNetLAN.Check%=1,ENVI $-CM_NET=1
        IFEX $%RadioPPPOE.Check%=1,ENVI $-CM_NET=2
        IFEX $%RadioNetWAN.Check%=1,ENVI $-CM_NET=3
        IFEX $%RadioDSPRLT.Check%=1,ENVI $-CM_DSP=1
        IFEX $%RadioDSPVBE.Check%=1,ENVI $-CM_DSP=2
        IFEX $%Check_NET.Check%=0,ENVI $-CM_NET=0
        IFEX $%Check_DSP.Check%=0,ENVI $-CM_DSP=0

        IFEX $%RadioNewWim.Enable%>0,IFEX $%RadioNewWim.Check%=1,IFEX $%OldNewWim%=0,
            \ ENVI CurNewWim=1
        IFEX $%RadioOldWim.Enable%>0,IFEX $%RadioOldWim.Check%=1,IFEX $%OldNewWim%=1,
            \ ENVI CurNewWim=0

        `如果复选框为灰色则置贮存Check状态值的变量为0
        IFEX $%Check_NET.Enable%=0,ENVI $-CM_NET=0
        IFEX $%Check_SND.Enable%=0,ENVI $-CM_SND=0
        IFEX $%Check_DSP.Enable%=0,ENVI $-CM_DSP=0
        IFEX $%Check_PRT.Enable%=0,ENVI $-CM_PRT=0
        IFEX $%Check_DX9.Enable%=0,ENVI $-CM_DX9=0

        `保存配置
        IFEX $%Check3.Check%=1,
        {
            ENVI^  EnviMode=1 //必须的!!!
            FIND $%CFG%=,!!  EXIT -
            PUTF -dd -len=0 %CFG%,0,zero  //清0长度
            WRIT %CFG%,$+0,ENVI $-LOADMODE=%LOADMODE%
            WRIT %CFG%,$+0,ENVI $-LOADUOP=%LOADUOP%
            WRIT %CFG%,$+0,ENVI $-TMPDRV=%TMPDRV%
            WRIT %CFG%,$+0,ENVI $-CM_NET=%CM_NET%
            WRIT %CFG%,$+0,ENVI $-CM_SND=%CM_SND%
            WRIT %CFG%,$+0,ENVI $-CM_DSP=%CM_DSP%
            WRIT %CFG%,$+0,ENVI $-CM_PRT=%CM_PRT%
            WRIT %CFG%,$+0,ENVI $-CM_DX9=%CM_DX9%
        }!
        {
            IFEX %CFG%, FILE %CFG%
        }
        KILL \
_END
CALL ManulSetLoadMode  

多线程优化的ManulSetLoadMode.wcs.zip

3.16 KB, 下载次数: 5

多线程优化代码

点评

我现测试一下,但用快捷方式执行与右键执行不知有什么不同?  详情 回复 发表于 2013-12-16 08:43
回复

使用道具 举报

6969#
发表于 2013-12-16 08:43:46 | 只看该作者
本帖最后由 hhh333 于 2013-12-16 09:49 编辑
mdyblog 发表于 2013-12-16 01:01
ENVI $后台 的功能 内置了 201201.80.14.04   201201.78.21.03
EVNI   [$][#][-]【*】[名称]=值


我现测试一下,但用快捷方式执行与右键执行不知有什么不同?

刚才用16日最新版,好象快捷方式执行与右键执行又没什么区别了,有点摸不着头脑了,我先用最新版用你的代码试一下。

点评

你键一个C:盘的环境。 相关文件和快捷方式 都放到C:\TEST 下。没有其他文件。 在把这个目录打包,传上来,我解开看看。 不知道你的快捷方式有什么特别的?????  详情 回复 发表于 2013-12-16 10:45
回复

使用道具 举报

6970#
发表于 2013-12-16 10:20:18 | 只看该作者
本帖最后由 hhh333 于 2013-12-16 10:25 编辑

我认为如果定义一个系统级或用户级变量,默认为不广播,如果需要立即生效,可以进行用代码显式广播,否则代码结束时才自动广播。
或者用一个开关控制是否立即广播,而不是一味地用前导符,我总感到现在的PECMD没有以前的严谨了,各种符号的应用太泛滥,代码的可读性大大降低了。

点评

需要兼容以前的代码, 不停地打补丁。 又不是一次设计出来的,不是有人提出新的要求,就在原有的前提下,大补丁。 象 windows, 现在 比win98 大出多少倍,不停地在外面加东西,原有的又要兼容。  详情 回复 发表于 2013-12-16 13:10
回复

使用道具 举报

6971#
 楼主| 发表于 2013-12-16 10:45:37 | 只看该作者
本帖最后由 mdyblog 于 2013-12-16 10:51 编辑
hhh333 发表于 2013-12-16 08:43
我现测试一下,但用快捷方式执行与右键执行不知有什么不同?

刚才用16日最新版,好象快捷方式执行与 ...


你键一个C:盘的环境。 相关文件和快捷方式  都放到C:\TEST  下。没有其他文件。
在把这个目录打包,传上来,我解开看看。
快捷方式做成一个命令脚本,我再来运行他生成快捷方式。
不知道你的快捷方式有什么特别的????? 有什么特别的参数吗?

如果 优化后的代码 始终正常,就算了。

慎用 ENVI $#
尤其是窗口中, 会造成窗口 卡住的。

     ENVI $# 有 5秒等待超时,且可能导致系统忙

点评

前面的有这个现象,我刚才用16号的似乎又没有这个现象了,我再看一下。 刚才用你修改的代码,确实不出现那种点确定无反应要到其他地方点一下才往下执行的情况。  详情 回复 发表于 2013-12-16 10:53
回复

使用道具 举报

6972#
发表于 2013-12-16 10:53:40 | 只看该作者
本帖最后由 hhh333 于 2013-12-16 11:02 编辑
mdyblog 发表于 2013-12-16 10:45
你键一个C:盘的环境。 相关文件和快捷方式  都放到C:\TEST  下。没有其他文件。
在把这个目录打包,传上 ...


前面的有这个现象,我刚才用16号的似乎又没有这个现象了,我再看一下。
刚才用你修改的代码,确实不出现那种点确定无反应要到其他地方点一下才往下执行的情况。
说明这个应该是由系统级变量广播引起的,广播中不畅通,其他地方点一下就通了,就可往下执行。我估计广播代码还有缺陷,32位中就没有这种现象。

另外请考虑我的建议,默认为不广播,退出时自动广播,可用开关改变默认是否广播;任何时候都可以用代码显式广播。

点评

请重新下载 PECMD2012.1.80.14.04-130810.多窗口线程稳定版_win32_64新设计.sfx.zip PECMD2012.1.78.21.03-130510.多窗口线程稳定版_win32_64.sfx.zip 原来的 定时器 改出问题了。 重新上传了。  详情 回复 发表于 2013-12-16 21:17
1》 我估计广播代码还有缺陷,32位中就没有这种现象。 这个是WINDOWS系统本身的事。 理论上,不可能避免 被卡住。 (1)如果 1000 个窗口,现在的WIN有很多看不见的窗口。 (2)另外有个程序自己卡住了,不响  详情 回复 发表于 2013-12-16 13:06
回复

使用道具 举报

6973#
 楼主| 发表于 2013-12-16 13:06:37 | 只看该作者
本帖最后由 mdyblog 于 2013-12-16 13:39 编辑
hhh333 发表于 2013-12-16 10:53
前面的有这个现象,我刚才用16号的似乎又没有这个现象了,我再看一下。
刚才用你修改的代码,确实不出 ...



1》 我估计广播代码还有缺陷,32位中就没有这种现象。
这个是WINDOWS系统本身的事。
理论上,不可能避免 被卡住。
(1)如果 1000 个窗口,现在的WIN有很多看不见的窗口。
(2)另外有个程序自己卡住了,不响应广播,把广播卡住了。

2》另外请考虑我的建议,默认为不广播,退出时自动广播,可用开关改变默认是否广播;任何时候都可以用代码显式广播。
好的, 已加了。重新下载吧。
※开关ENVI $#广播:ENVI^     EnviBroad=0/1   // 1为开启(默认)   0为关闭  

关闭后,后面 用 [THREAD ENVI] 来显式广播。
关闭后,PECMD.EXE退出时如果有 “遗弃的ENVI#$广播”(没有后续显式广播),自动广播。


回复

使用道具 举报

6974#
 楼主| 发表于 2013-12-16 13:10:20 | 只看该作者
本帖最后由 mdyblog 于 2013-12-16 13:38 编辑
hhh333 发表于 2013-12-16 10:20
我认为如果定义一个系统级或用户级变量,默认为不广播,如果需要立即生效,可以进行用代码显式广播,否则代 ...



需要兼容以前的代码, 不停地打补丁。
又不是一次设计出来的,不是有人提出新的要求,就在原有的前提下,大补丁。

象 windows, 现在 比win98 /2000大出多少倍,不停地在外面加东西,原有的又要兼容。
回复

使用道具 举报

6975#
 楼主| 发表于 2013-12-16 21:17:13 | 只看该作者
hhh333 发表于 2013-12-16 10:53
前面的有这个现象,我刚才用16号的似乎又没有这个现象了,我再看一下。
刚才用你修改的代码,确实不出 ...

请重新下载  PECMD2012.1.80.14.04-130810.多窗口线程稳定版_win32_64新设计.sfx.zip
PECMD2012.1.78.21.03-130510.多窗口线程稳定版_win32_64.sfx.zip

原来的 定时器 改出问题了。 重新上传了。
回复

使用道具 举报

6976#
发表于 2013-12-16 21:19:26 | 只看该作者
本帖最后由 hhh333 于 2013-12-16 22:01 编辑

好的,我就用最新的试一下。
有了广播开关原来的代码几乎不需要改了。
回复

使用道具 举报

6977#
发表于 2013-12-16 22:56:00 | 只看该作者
这一次没问题了,简单地关了,在要外部调用之前广播一下就OK了。
1、想问一下,譬如我要用EXEC调用CMD,而CMD中用到调用它的INI中新定义的系统变量,这个时候是不是就要用到广播了?如果不广播CMD中就不能用,是不是这样?
2、刚才试了下,最新版在03中驱动网卡有问题。而131016的正常。

点评

1> 想问一下,譬如我要用EXEC调用CMD,而CMD中用到调用它的INI中新定义的系统变量,这个时候是不是就要用到广播了?如果不广播CMD中就不能用,是不是这样? A.BAT: SET A=1 PECMD LOAD B.INI echo 1:A=[%A%]  详情 回复 发表于 2013-12-17 13:20
回复

使用道具 举报

6978#
 楼主| 发表于 2013-12-17 13:20:19 | 只看该作者
hhh333 发表于 2013-12-16 22:56
这一次没问题了,简单地关了,在要外部调用之前广播一下就OK了。
1、想问一下,譬如我要用EXEC调用CMD,而 ...

1> 想问一下,譬如我要用EXEC调用CMD,而CMD中用到调用它的INI中新定义的系统变量,这个时候是不是就要用到广播了?如果不广播CMD中就不能用,是不是这样?

A.BAT:
SET A=1
PECMD LOAD B.INI
echo 1:A=[%A%]

B.INI:
ENVI^ EnviBroad=0
ENVI  A=2
MESS   PAUSE
ENVI


这里A.BAT始终 打印 【1:A=[1]】 不会打印出2的。 MS的CMD就是这么设计的。变量不能跨EXE回传和传递,否则乱套了,前面定义的变量,不受控制的自己变了!!!多危险。

广播是特别设计的GUI程序才有效的,需要有接受窗口,处理特别的消息,一般是explorer.exe
【ENVI】广播 同步后, explorer.exe 重读注册表,刷新它的进程环境变量表。则是从桌面创建的进程,就会用新的变量表。
没有 【ENVI】广播 同步,从桌面创建的进程,就会用旧的变量表。

原来的进程不手次影响。其新创建进程也不受影响,他只会继承创建他的进程的变量表。

简单说: “【ENVI】广播同步”就是用来设置系统变量


2、》刚才试了下,最新版在03中驱动网卡有问题。而131016的正常。
131016 版本号多少?

你用最近的几个版本,反着试试,看最近那个版本可以。
101201.80.14.04    80.14.02    80.14.01      80.14     80.12    80.11   80
给出下载包的全名。  

回复

使用道具 举报

6979#
发表于 2013-12-17 17:08:05 | 只看该作者
本帖最后由 hhh333 于 2013-12-17 17:36 编辑
  1. _SUB CommUnzip
  2. TIPS 正在释放,三卡驱动公共支持文件……,10000,4,SHELL32.DLL#1
  3. EXEC =!CMD.EXE /C "7z.exe x ..\DRVCOMM.7z -y -aos -o"%windir%\System32""
  4. _END

  5. _SUB LanUnzip
  6. TIPS 正在释放,网络支持文件……,50000,4,SHELL32.DLL#1
  7. EXEC =!CMD.EXE /C "7z.exe x NET_PART%BootOS%.7z -y -aos -o"%windir%""
  8. _END

  9. _SUB WanUnzip
  10. TIPS 正在释放,无线网络支持文件……,10000,4,SHELL32.DLL#1
  11. EXEC =!CMD.EXE /C "7z.exe x Wireless%BootOS%.7z -y -aos -o"%windir%""
  12. EXEC =!CMD.EXE /C "7z.exe x PENetwork.7z -y -aos -o"%ProgramFiles%""
  13. _END

  14. _SUB PppUnzip
  15. TIPS 正在释放,拨号组件……,10000,4,SHELL32.DLL#1
  16. EXEC =!CMD.EXE /C "7z.exe x PPPOE%BootOS%.7z -y -aos -o"%windir%""
  17. _END

  18. _SUB LanSvc
  19. TIPS 开始初始化,基本网络服务……,10000,4,SHELL32.DLL#1
  20. FIND $%PXEFN%=,UPNP -pnp -cn PEWS-* -wg WORKGROUP!UPNP -pnp -cn WINPE -wg WORKGROUP
  21. `EXEC !CMD /C "REN %SystemRoot%\SYSTEM32\RSAENH.DLL RSAENH.DL1"
  22. UPNP -c p -i MS_TCPIP
  23. UPNP -c c -i MS_MSCLIENT
  24. UPNP -c s -i MS_SERVER
  25. EXEC =!net start TCPIP
  26. _END

  27. _SUB WanSvc
  28. TIPS 开始初始化,无线网络服务……,10000,4,SHELL32.DLL#1
  29. UPNP -v -c p -i MS_NDISUIO
  30. UPNP -v -c s -i MS_WZCSVC
  31. EXEC =!net start EVENTLOG
  32. SERV WZCSVC
  33. _END

  34. _SUB PppSvc
  35. TIPS 开始初始化,宽带网络服务……,10000,4,SHELL32.DLL#1
  36. UPNP -c p -i MS_L2TP
  37. UPNP -c p -i MS_PPTP
  38. UPNP -c p -i MS_PPPOE
  39. UPNP -c p -i MS_WANARP
  40. UPNP -c p -i MS_NDISWAN
  41. UPNP -c s -i MS_RASCLI
  42. UPNP -c s -i MS_RASSRV
  43. UPNP -c s -i MS_RASMAN
  44. UPNP -c s -i MS_STEELHEAD
  45. EXEC =!net start TAPISRV
  46. EXEC =!net start RASMAN
  47. EXEC =!net start NETMAN

  48. _END

  49. _SUB NetStateSvc
  50. TIPS 开始初始化,网络状态指示服务……,10000,4,SHELL32.DLL#1
  51. REGI HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE\SkipWaitForNetwork=#1
  52. REGI HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu\{208D2C60-3AEA-1069-A2D7-08002B30309D}=#0
  53. REGI HKLM\SYSTEM\CurrentControlSet\Services\Lanmanserver\parameters\AutoShareWks=#0
  54. REGI HKLM\SYSTEM\CurrentControlSet\Services\Lanmanserver\parameters\AutoShareServer=#0
  55. REGI HKLM\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters\AutoShareWks=#0
  56. REGI HKLM\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters\AutoShareServer=#0
  57. EXEC =!net start DHCP
  58. EXEC =!net start LMHOSTS

  59. EXEC =!net start SERVER
  60. SERV BFE
  61. SERV GPSVC

  62. EXEC !CMD.EXE /C "IPCONFIG >nul"
  63. `EXEC !CMD.EXE /C "NET USER Administrator hhh333"
  64. EXEC !CMD.EXE /C "NET USER Guest /active:yes"
  65. EXEC !CMD.EXE /C "NET USER Guest /passwordreq:no"
  66. EXEC =!CMD.EXE /C "NET USER H3 /ADD"
  67. EXEC =!CMD.EXE /C "NET LOCALGROUP Administrators H3 /ADD"
  68. EXEC !CMD.EXE /C "NET USER H3 hhh333"
  69. REGI HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu\{208D2C60-3AEA-1069-A2D7-08002B30309D}=#0
  70. REGI $HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\NetCfgInstanceId,NICID
  71. REGI HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\%NICID%\Connection\ShowIcon=#1
  72. _END

  73. _SUB LanCab
  74. TIPS 正在安装,有线网卡驱动……,10000,4,SHELL32.DLL#1
  75. FIND $%MYCAB%=,ENVI CurCAB=DRIVERS_NET.CAB!ENVI CurCAB=%MYCAB%
  76. DEVI %CurCAB%
  77. EXEC %CurDir%\..\InfCacheBuild.exe %SystemRoot%
  78. `TEMP @Delete
  79. EXEC !CMD.EXE /C "ECHO.>%WinDir%\LD_NET_LAN.OK"
  80. _END

  81. _SUB WanCab
  82. TIPS 正在安装,无线网卡驱动……,10000,4,SHELL32.DLL#1
  83. FIND $%MYCAB%=,ENVI CurCAB=DRIVERS_NETT_WIRELESS.CAB!ENVI CurCAB=%MYCAB%
  84. DEVI %CurCAB%
  85. EXEC %CurDir%\..\InfCacheBuild.exe %SystemRoot%
  86. UPNP -pnp
  87. TEMP @Delete
  88. EXEC !CMD.EXE /C "ECHO.>%WinDir%\LD_NET_WAN.OK"
  89. _END

  90. _SUB IpDef
  91. IFEX %IniDir%\IPSET.INI,LOAD %IniDir%\IPSET.INI!LOAD PXEFILE.INI
  92. _END

  93. _SUB IpSet
  94. FIND $%HOSTIP%=,!CALL GetIp
  95. FIND $%PXEFN%=,!CALL ComputerNameSet
  96. FIND $%IP_ADDR%=,!PCIP %IP_ADDR%,%IP_MASK%,%IP_GATE%,%IP_DNS%
  97. _END

  98. _SUB GetIp
  99. RPOS iPos=.,1,%HOSTIP%
  100. LSTR NETSEC=%iPos%,%HOSTIP%
  101. ENVI IP_GATE=%NETSEC%1
  102. ENVI IP_ADDR=%HOSTIP%
  103. ENVI IP_MASK=255.255.255.0
  104. ENVI IP_DNS=%IP_GATE%
  105. _END

  106. _SUB ComputerNameSet
  107. REGI HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName=WINPE
  108. REGI HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName\ComputerName=WINPE
  109. REGI HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Hostname=WINPE
  110. REGI HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\NV Hostname=WINPE
  111. `REGI $HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName,CMPTNAME
  112. REGI HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\ComputerName=WINPE
  113. _END

  114. _SUB INS_INF_HOST
  115. FIND $%MYINF%=,!TEAM DEVI %MYINF%\*.inf|ENVI INSINF=1
  116. `IFEX $%INSHOST%=1,TEAM ENVI INSINF=1|FORX \Windows\system32\driverstore\filerepository,MYOSINF,1,DEVI %MYOSINF%\*.inf
  117. _END
  118. _SUB InsLan
  119. IFEX %WinDir%\System32\PENetCfg.exe,!CALL LanUnzip
  120. ENVI INSINF=0
  121. CALL INS_INF_HOST
  122. IFEX $%INSINF%=0,CALL LanCab
  123. IFEX $%CM_NET%=1,CALL IpDef
  124. CALL LanSvc
  125. IFEX $%CM_NET%=1,CALL IpSet
  126. LINK %Desktop%\PENETCFG 网络设置,%SystemRoot%\System32\PENETCFG.exe
  127. LINK %Desktop%\网络连接,%WinDir%\system32\ncpa.cpl,,%CurDir%\NET_PART.ICO
  128. LINK %Programs%\网络\网络设置\PENETCFG 网络设置,%SystemRoot%\System32\PENETCFG.exe
  129. LINK %Programs%\网络\网络工具\远程桌面 MsTsc,%SystemRoot%\System32\mstsc.exe
  130. `LINK %Desktop%\装载网启服务器上外置程序,%CurDir%\TOTFTP.CMD,,SHELL32.DLL#18
  131. _END

  132. _SUB InsPpp
  133. IFEX %WinDir%\System32\RASPHONE.PBK,!CALL PppUnzip
  134. IFEX %WinDir%\LD_NET_LAN.OK,!CALL InsLan
  135. CALL PppSvc
  136. LINK %Desktop%\宽带连接,%WinDir%\system32\rasphone.pbk
  137. LINK %Programs%\网络\网络设置\宽带连接,%SystemRoot%\SYSTEM32\RASPHONE.PBK
  138. LINK !%Programs%\网络\网络设置\挂断ADSL,%SystemRoot%\System32\HANGUP.CMD,,HANGUP.ICO
  139. FILE %Programs%\网络\网络组件安装\启用宽带连接.LNK
  140. EXEC !CMD.EXE /C "ECHO.>%WinDir%\LD_NET_PPP.OK"
  141. _END

  142. _SUB InsWan
  143. `IFEX %ProgramFiles%\penetwork\PENetwork.exe,!CALL WanUnzip
  144. IFEX %WinDir%\LD_NET_LAN.OK,!CALL InsLan
  145. ENVI INSINF=0
  146. CALL INS_INF_HOST
  147. IFEX $%INSINF%=0,CALL WanCab
  148. CALL WanSvc
  149. `LINK %Programs%\网络\网络设置\PENetwork 网络管理,%ProgramFiles%\penetwork\PENetwork.exe
  150. _END

  151. /////----主程序区----////
  152. FIND $%BootOS%=,ENVI BootOS=
  153. `IFEX %WinDir%\System32\quartz.dll,!CALL CommUnzip
  154. IFEX $%CM_NET%=1,CALL InsLan
  155. IFEX $%CM_NET%=2,CALL InsPpp
  156. IFEX $%CM_NET%=3,CALL InsWan
  157. IFEX $%CM_NET%>0,CALL NetStateSvc
  158. IFEX $%CM_NET%=1,EXEC %SystemRoot%\System32\PENETCFG.exe
  159. IFEX $%CM_NET%=2,EXEC CMD.EXE /C "START %SystemRoot%\SYSTEM32\RASPHONE.PBK"
  160. IFEX $%CM_NET%=3,EXEC %SystemRoot%\System32\PENETCFG.exe
  161. FIND Explorer.EXE,KILL EXPLORER.EXE
  162. `FILE "%Desktop%\desktop.ini"
复制代码
以上是网卡驱动代码,以下是出现的现象,点确定也可以用。


试了
PECMD2012.1.80-130810-11.多窗口线程稳定版_win32_64新设计.sfxOK
PECMD2012.1.80.14-130810.多窗口线程稳定版_win32_64新设计.sfxOK
PECMD2012.1.80.14.03-130810.多窗口线程稳定版_win32_64新设计.sfxNO
PECMD2012.1.80.14.02-130810.多窗口线程稳定版_win32_64新设计.sfxNO

点评

试试 PECMD2012.1.80.14.02-130810.多窗口线程稳定版_win32_64新设计.sfx 好比较。 PECMD2012.1.80.14.03-130810.多窗口线程稳定版_win32_64新设计.sfx 本来有问题,源码已删除了。 另外,能不能比较一下 LOG  详情 回复 发表于 2013-12-17 23:15
回复

使用道具 举报

6980#
 楼主| 发表于 2013-12-17 23:15:46 | 只看该作者
hhh333 发表于 2013-12-17 17:08
以上是网卡驱动代码,以下是出现的现象,点确定也可以用。

试试 PECMD2012.1.80.14.02-130810.多窗口线程稳定版_win32_64新设计.sfx
好比较。
PECMD2012.1.80.14.03-130810.多窗口线程稳定版_win32_64新设计.sfx 本来有问题,源码已删除了。

另外,能不能比较一下 LOG 文件。
具体定位到那条命令出问题了。
回复

使用道具 举报

6981#
发表于 2013-12-18 07:53:56 | 只看该作者
这是LOG文件,14的不行,13的可以,原来14的net start找不到文件: Archive.7z (6.51 KB, 下载次数: 2)

点评

那是 【net start DHCP】本身出错,应该是已经运行过。返回错误码2. 你是不是 先用13 测的, 没有重启,紧接着用14测试。 需要一样的测试流程。 重启后在测试14. // 用Excel 导入文本,删去前2列,在比较就方  详情 回复 发表于 2013-12-18 14:01
回复

使用道具 举报

6982#
 楼主| 发表于 2013-12-18 14:01:53 | 只看该作者
hhh333 发表于 2013-12-18 07:53
这是LOG文件,14的不行,13的可以,原来14的net start找不到文件:

那是 【net start DHCP】本身出错,应该是已经运行过。返回错误码2.
C:\>net start DHCP
请求的服务已经启动。

请键入 NET HELPMSG 2182 以获得更多的帮助。

C:\>echo %ERRORLEVEL%
2

C:\>

你是不是  先用13 测的, 没有重启,紧接着用14测试。
需要一样的测试流程。 重启后在测试14.
// 用Excel 导入文本,删去前2列,在比较就方便多了
//新版(14.05) 准备默认把那些时间线程信息去掉,一般没用。需要 **t=1 打开。

点评

是重启测试的,不过是将PECMD放D盘,将INI拖放到上面执行的。  详情 回复 发表于 2013-12-18 18:46
回复

使用道具 举报

6983#
发表于 2013-12-18 18:46:59 | 只看该作者
mdyblog 发表于 2013-12-18 14:01
那是 【net start DHCP】本身出错,应该是已经运行过。返回错误码2.

你是不是  先用13 测的, 没有重 ...

是重启测试的,不过是将PECMD放D盘,将INI拖放到上面执行的。
回复

使用道具 举报

6984#
发表于 2013-12-18 20:06:34 | 只看该作者
本帖最后由 hhh333 于 2013-12-18 20:09 编辑

问题应该出在UPNP上,我先将INI变成CMD,也不行,再将其中的pecmd upnp换成bartpe.exe就行了。
UPNP安装服务没有成功,当然net start DHCP等就会出错。
回复

使用道具 举报

6985#
发表于 2013-12-18 20:14:57 | 只看该作者
刚才又试了下,将INI中UPNP改成exec =!bartpe.exe就可以了,该不会又将UPNP的代码删除了吧?

点评

这段代码最近没有变啊! 奇怪。 14.04 : UPNP 换成 EXEC --exe:*#2|INDATA =!UPNP bartpe.exe参数 再试试: EXEC --exe:#2|INDATA =!UPNP bartpe.exe参数 再直接试试: UPNP 参数 另外  详情 回复 发表于 2013-12-18 21:12
回复

使用道具 举报

6986#
 楼主| 发表于 2013-12-18 21:12:54 | 只看该作者
本帖最后由 mdyblog 于 2013-12-19 01:13 编辑
hhh333 发表于 2013-12-18 20:14
刚才又试了下,将INI中UPNP改成exec =!bartpe.exe就可以了,该不会又将UPNP的代码删除了吧?


这段代码最近没有变啊!
奇怪。

PECMD2012.1.80.14-130810.多窗口线程稳定版_win32_64新设计.sfxOK
PECMD2012.1.80.14.02-130810.多窗口线程稳定版_win32_64新设计.sfxNO
但14  和 14.02 没多大区别啊。
你把你的那个PE传到网上,我试试。

14.04 :
UPNP 换成
EXEC  --exe:*#2|INDATA  =!UPNP    bartpe的参数

再试试:
EXEC  --exe:#2|INDATA  =!UPNP    bartpe的参数

// 上面两行 不输入 bartpe。 【bartpe的参数】指的是 bartpe 运行是后面的参数。 不含bartpe.

再直接试试:
UPNP 参数

另外,什么系统。 XP有问题吗?

试试 http://pan.baidu.com/s/18EMgZ#PECMD.14.05Pre.zip#PECMD.14.05Pre.zip
  

点评

经测试,14.05pre没有问题。  详情 回复 发表于 2013-12-20 07:31
回复

使用道具 举报

6987#
发表于 2013-12-20 07:31:15 | 只看该作者
本帖最后由 hhh333 于 2013-12-20 10:10 编辑
mdyblog 发表于 2013-12-18 21:12
这段代码最近没有变啊!
奇怪。

前面的XP和03都有问题。
经测试,14.05pre没有问题。

我传了一个系统:http://pan.baidu.com/share/link? ... 44&uk=622348759(有XP和03,03中放的是新的驱动有问题,XP中放的是老的无问题)

点评

PECMD2012.1.80.14.06-130810 //ENVI ^ABC=1 %^ABC% 重名控件(也显示) MESS+min+max PECMD2012.1.80.14.05-130810 //UPNP -注释 LOAD #ID|目录*函数名 LOGS **t=0/1  详情 回复 发表于 2013-12-21 10:32
奇怪。 我测试都对啊。 80.14-130810 80.14.02-130810 80.14.03-130810 80.14.04-130810 附件是LOG。 几乎没有区别啊。 算了。 反正 80.14.05-130810 没问题。  详情 回复 发表于 2013-12-21 00:38
晚上回去看看咋回事。  详情 回复 发表于 2013-12-20 13:00
回复

使用道具 举报

6988#
 楼主| 发表于 2013-12-20 13:00:53 | 只看该作者
hhh333 发表于 2013-12-20 07:31
前面的XP和03都有问题。
经测试,14.05pre没有问题。

晚上回去看看咋回事。
回复

使用道具 举报

6989#
发表于 2013-12-20 20:21:32 | 只看该作者
看不懂啊
回复

使用道具 举报

6990#
 楼主| 发表于 2013-12-21 00:38:59 | 只看该作者
本帖最后由 mdyblog 于 2013-12-21 10:34 编辑
hhh333 发表于 2013-12-20 07:31
前面的XP和03都有问题。
经测试,14.05pre没有问题。


奇怪。 我测试都对啊。网卡都拿到IP了。
80.14-130810  80.14.02-130810 80.14.03-130810 80.14.04-130810
附件是LOG。 几乎没有区别啊。

算了。 反正 80.14.05-130810 没问题。

测试.LOG.zip

85.52 KB, 下载次数: 0

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-9-29 04:54

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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