无忧启动论坛

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

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

    [复制链接]
16651#
发表于 2022-4-19 22:57:06 | 只看该作者
本帖最后由 2012胡言乱语 于 2022-4-19 23:10 编辑

问个问题 加上ENVI^ FORCELOCAL=1 为啥控件就不起作用 能详细说一下。强制所有变量为PE变量。能最简单变多线程或多任务(并行窗口) 什么意思下面这个实验
=================================================================
ENVI^ EnviMode=1
ENVI^ FORCELOCAL=1
_sub a
ENVI &&qued=0
CALL 窗口1
FIND $%&qued%=0, EXIT _SUB
//MESS %ZDYDXF.Check%
IFEX $%ZDYDXF.Check%=1,EXEC =%CurDir%\1.exe! exec =%CurDir%\2.exe
_end
_SUB 窗口1,W300H172,试验,
    CHEK ZDYDXF,L20T43W350H18,试验,,1   
    RADI SHUT,L100T70W62H20,关机,,0
    RADI RB,L180T70W62H20,重启,,1
    ITEM ,L146T105W60H25,确定,TEAM ENVI &qued=1|KILL \,
    ITEM ,L215T105W60H25,取消,KILL \,
    //ENVI @ZDYDXF.Check=1         //////加上这三行 也不行
    //ENVI @SHUT.Check=0
    //ENVI @RB.Check=1
_END
a
====================================================
检测不到 好像%ZDYDXF.Check%怎么都是空 总是运行2.exe  关机啥的都没用 去掉ENVI^ FORCELOCAL=1可以或0是不是强制后窗口里的变量退出后全是空






点评

子窗口的控件状态变量%ZDYDXF.Check%,无法直接使用到主程序上,层级关系。用一个变量传递比较合适,还有其他很多方法。  详情 回复 发表于 2022-4-19 23:13
回复

使用道具 举报

16652#
发表于 2022-4-19 23:13:09 | 只看该作者
2012胡言乱语 发表于 2022-4-19 22:57
问个问题 加上ENVI^ FORCELOCAL=1 为啥控件就不起作用 能详细说一下。强制所有变量为PE变量。能最简单变 ...
  1. ENVI^ EnviMode=1
  2. //ENVI^ FORCELOCAL=1
  3. ENVI &key=
  4. _sub a
  5.     ENVI &&qued=0
  6.     CALL 窗口1
  7.     FIND $%&qued%=0, EXIT _SUB
  8.     //MESS %ZDYDXF.Check%
  9.     //IFEX $%ZDYDXF.Check%=1,EXEC =%CurDir%\1.exe! exec =%CurDir%\2.exe
  10.     IFEX $%&key%=1,EXEC =%CurDir%\1.exe! exec =%CurDir%\2.exe
  11. _end
  12. _SUB 窗口1,W300H172,试验,
  13.     CHEK ZDYDXF,L20T43W350H18,试验,ENVI &key=%ZDYDXF.Check%,1
  14.     ENVI &key=%ZDYDXF.Check%
  15.     RADI SHUT,L100T70W62H20,关机,,0
  16.     RADI RB,L180T70W62H20,重启,,1
  17.     ITEM ,L146T105W60H25,确定,TEAM ENVI &qued=1|KILL \,
  18.     ITEM ,L215T105W60H25,取消,KILL \,
  19.     //ENVI @ZDYDXF.Check=1         //////加上这三行 也不行
  20.     //ENVI @SHUT.Check=0
  21.     //ENVI @RB.Check=1
  22. _END
  23. a
复制代码


子窗口的控件状态变量%ZDYDXF.Check%,无法直接使用到主程序上,层级关系。用一个变量传递比较合适,还有其他很多方法。

点评

理顺了 ENVI^ EnviMode=1 ENVI^ FORCELOCAL=1 ENVI &&TYU=0 CALL A _SUB A ENVI &&qued=0 CALL 窗口1 FIND $%&qued%=0, EXIT _SUB IFEX $%&TYU%=1,关机 IFEX $%&TYU%=2,重启  详情 回复 发表于 2022-4-19 23:47
回复

使用道具 举报

16653#
发表于 2022-4-19 23:47:38 | 只看该作者
红毛樱木 发表于 2022-4-19 23:13
子窗口的控件状态变量%ZDYDXF.Check%,无法直接使用到主程序上,层级关系。用一个变量传递比较合适, ...

理顺了
ENVI^ EnviMode=1
ENVI^ FORCELOCAL=1

ENVI &&TYU=0
CALL A

_SUB A
   ENVI &&qued=0
   CALL 窗口1
   FIND $%&qued%=0, EXIT _SUB
   IFEX $%&TYU%=1,关机
   IFEX $%&TYU%=2,重启
_END

_SUB 窗口1,W300H172,试验,
    CHEK ZDYDXF,L20T43W350H18,试验,,1   
    RADI SHUT,L100T70W62H20,关机,,0
    RADI RB,L180T70W62H20,重启,,1
    ITEM ,L146T105W60H25,确定,TEAM ENVI &qued=1|CALL 窗口1-A
    ITEM ,L215T105W60H25,取消,KILL \,
_END

_SUB 窗口1-A
    ENVI @窗口1.Visible=0
    IFEX $%ZDYDXF.Check%=1,EXEC =%CurDir%\1.exe! exec =%CurDir%\2.exe
    IFEX $%SHUT.Check%=1,ENVI &TYU=1
    IFEX $%RB.Check%=1,ENVI &TYU=2   
    KILL 窗口1
_END


回复

使用道具 举报

16654#
发表于 2022-4-20 00:13:55 | 只看该作者
我原来都没加ENVI^ FORCELOCAL=1,主程序是可以检测到子程序控件的
我一直以为子窗口是由 主窗口调用的 所以主窗口中是可以检测到子窗口的控件

点评

1: 没加 ENVI^ FORCELOCAL=1 ENVI A=123 RADI SHUT,L100T70W62H20,关机,,0 %A% %RADI.Check% 等用环境变量 保存。 一个程序中环境变量只有一份。 一个程序中 在哪儿都能访问,结果都一样。 2: 加 EN  详情 回复 发表于 2022-4-20 10:51
回复

使用道具 举报

16655#
发表于 2022-4-20 08:00:36 | 只看该作者
_SUB WIN1,W480H254,新窗口1,,,
    ITEM -nscope ITEM1,L212T102W160H30,ITEM1,KILL \,pecmd.exe
_END
WIN1
为什么按钮文字不显示

点评

重新下载今天版本  详情 回复 发表于 2022-4-20 10:41
回复

使用道具 举报

16656#
 楼主| 发表于 2022-4-20 10:41:12 | 只看该作者
826773297 发表于 2022-4-20 08:00
_SUB WIN1,W480H254,新窗口1,,,
    ITEM -nscope ITEM1,L212T102W160H30,ITEM1,KILL \,pecmd.exe
_END

重新下载今天版本
回复

使用道具 举报

16657#
 楼主| 发表于 2022-4-20 10:51:24 | 只看该作者
2012胡言乱语 发表于 2022-4-20 00:13
我原来都没加ENVI^ FORCELOCAL=1,主程序是可以检测到子程序控件的
我一直以为子窗口是由 主窗口调用的 所 ...

1:
没加 ENVI^ FORCELOCAL=1

ENVI A=123
RADI SHUT,L100T70W62H20,关机,,0
%A% %RADI.Check% 等用环境变量 保存。 一个程序中环境变量只有一份。
一个程序中 在哪儿都能访问,结果都一样。


2:
加 ENVI^ FORCELOCAL=1
变量 默认为 PE变量。
ENVI A=123
RADI SHUT,L100T70W62H20,关机,,0
%A% %RADI.Check% 等用PECMD自己的 PE变量保存。 这个分层级的。 不层级, 可以各自定义自己的   同名 PE变量。 互补干扰。

如果下级没有定义该 PE变量 &TYU, 则访问的上级&TYU, 这样可通过上级的PE变量 &TYU 网上级传 数据。


3:
没加 ENVI^ FORCELOCAL=1
可以在 变量前加 &,强制标示为 PE变量
定义:
ENVI &&TYU=0
ENVI &&A=123

赋值,获取:
ENVI &TYU=1
ENVI &A=456
MESS.  %&TYU%
MESS.  %&A%



  

点评

在 ENVI^ FORCELOCAL=1 的情况下,我发现系统变量有些能正常使用,而有些不能,比如%SystemDrive%能正常使用,而%Userprofile%不能使用。 那么: 1. 同样是环境变量,为什么有些能使用而有些不能呢? 2. 这时候,  详情 回复 发表于 2022-4-21 09:05
回复

使用道具 举报

16658#
发表于 2022-4-20 18:08:40 | 只看该作者
M大请教  RAMD ImDisk,L64,NTFS,B:,ImDisk1,,1    比如WIM文件大500M  解压后是1000M   这个RAMD设置多少合适

点评

如果用wimfilt.sys搭配旧版本wimgapi则3m即可,不吃空间,如果是自带的wimgapi那就应该是wim解压后的空间大小  详情 回复 发表于 2022-4-20 18:25
挂载wim不是用moun命令吗  详情 回复 发表于 2022-4-20 18:22
回复

使用道具 举报

16659#
发表于 2022-4-20 18:22:50 | 只看该作者
23456 发表于 2022-4-20 18:08
M大请教  RAMD ImDisk,L64,NTFS,B:,ImDisk1,,1    比如WIM文件大500M  解压后是1000M   这个RAMD设置多少合 ...

挂载wim不是用moun命令吗

点评

是的 尝试更多挂载方法  详情 回复 发表于 2022-4-20 22:14
回复

使用道具 举报

16660#
发表于 2022-4-20 18:25:17 | 只看该作者
23456 发表于 2022-4-20 18:08
M大请教  RAMD ImDisk,L64,NTFS,B:,ImDisk1,,1    比如WIM文件大500M  解压后是1000M   这个RAMD设置多少合 ...

如果用wimfilt.sys搭配旧版本wimgapi则3m即可,不吃空间,如果是自带的wimgapi那就应该是wim解压后的空间大小
回复

使用道具 举报

16661#
发表于 2022-4-20 19:55:02 | 只看该作者
_SUB WIN1,W402H254,新窗口1,
    ENVI @WIN1.BKCOLOR=0XFFFFFF
    ITEM -nscope ITEM1,L31T103W240H80,564646/n548949,,#1,
    ENVI @ITEM1.bkcolor=0xffffff
    ENVI @ITEM1.MSG=0x1000:ENVI @ITEM1.bkcolor=0xff
    ENVI @ITEM1.MSG=0x02A3:ENVI @ITEM1.bkcolor=0xffffff
    LABE -trans LABE1,L171T143W60H30,LABE1,,
_END
WIN1

按钮我觉得可以增强一下,挂一点控件,按钮文字不能换行,不能自定义每行文字大小和颜色

点评

ENVI$ &NL=0d 0a _SUB WIN1,W402H254,新窗口1, ENVI @WIN1.BKCOLOR=0XFFFFFF ITEM -nscope ITEM1,L31T103W240H80,123456%&NL%548949,,#1, ENVI @ITEM1.bkcolor=0xffffff ENVI @ITEM1.MSG=0  详情 回复 发表于 2022-4-21 03:57
ENVI$ &NL=0d 0a _SUB WIN1,W402H254,新窗口1, ENVI @WIN1.BKCOLOR=0XFFFFFF ITEM -nscope ITEM1,L31T103W240H80,564646%&NL%548949,,, ENVI @ITEM1.bkcolor=0xffffff ENVI @ITEM1.MSG=0x1  详情 回复 发表于 2022-4-21 02:58
好像确实不能换行  发表于 2022-4-21 01:18
回复

使用道具 举报

16662#
发表于 2022-4-20 19:58:21 | 只看该作者
按钮图标大小如果能自定义就好了

点评

自动缩放。  详情 回复 发表于 2022-4-21 03:57
用IMAG控件喽  发表于 2022-4-21 01:15
回复

使用道具 举报

16663#
发表于 2022-4-20 19:59:37 | 只看该作者
感觉pecmd写的界面不太好满足我的设计需求

点评

[attachimg]500039[/attachimg] [attachimg]500040[/attachimg] [attachimg]500041[/attachimg] 都能做的,而且很漂亮,下功夫就好了。  详情 回复 发表于 2022-4-21 01:15
回复

使用道具 举报

16664#
发表于 2022-4-20 20:01:48 | 只看该作者
像WIN10的无线连接界面那种卷帘式按钮,用pecmd总是不好实现,不能高仿出来

点评

ENVI^ EnviMode=1 ENVI^ ForceLocal=1 ENVI &Page1_WID= ENVI$ &TAB=09 ENVI$ &NL=0d 0a CALC #&Win_W=670 // + 146 CALC &Win_H=462 + 49 + 50 + 12 - 12 SET WifiN=50 CALC &PAGE_H=100+20*%WifiN% //50  详情 回复 发表于 2022-4-20 22:43
应该就是一个窗口吧。 SWIN 带滚动条 试试。  详情 回复 发表于 2022-4-20 21:23
回复

使用道具 举报

16665#
发表于 2022-4-20 21:23:57 | 只看该作者
PECMD里的字体总是很模糊,不管是托盘图标右键还是窗口内字体都很糊,不知道什么原因,会不会是dpi的缘故

点评

我这里是dpi的原因,自定义dpi就不模糊了  详情 回复 发表于 2022-4-21 10:48
回复

使用道具 举报

16666#
 楼主| 发表于 2022-4-20 21:23:57 | 只看该作者
826773297 发表于 2022-4-20 20:01
像WIN10的无线连接界面那种卷帘式按钮,用pecmd总是不好实现,不能高仿出来

应该就是一个窗口吧。
SWIN 带滚动条 试试。
回复

使用道具 举报

16667#
发表于 2022-4-20 21:42:20 | 只看该作者

好像PECMD用的字体不一样

点评

※"ENVI @窗口或控件名.Font=[字体大小][:[字体名][字体修饰]]"。 //设置字体,参见EDIT 可以自己设置字体。  详情 回复 发表于 2022-4-21 01:10
回复

使用道具 举报

16668#
发表于 2022-4-20 22:14:10 | 只看该作者
826773297 发表于 2022-4-20 18:22
挂载wim不是用moun命令吗

是的     尝试更多挂载方法
回复

使用道具 举报

16669#
发表于 2022-4-20 22:37:47 | 只看该作者
M看到回复下 RAMD ImDisk,L64,NTFS,B:,ImDisk1,,1    比如WIM文件大500M  解压后是1000M   这个RAMD设置多少合适

点评

要比解压后的空间还要大才可以。NTFS一般好想要自己占用一部分空间,不记得多少量,至少20M吧  发表于 2022-4-21 01:09
回复

使用道具 举报

16670#
 楼主| 发表于 2022-4-20 22:43:47 | 只看该作者
826773297 发表于 2022-4-20 20:01
像WIN10的无线连接界面那种卷帘式按钮,用pecmd总是不好实现,不能高仿出来

ENVI^ EnviMode=1
ENVI^ ForceLocal=1
ENVI &Page1_WID=
ENVI$ &TAB=09
ENVI$ &NL=0d 0a
CALC #&Win_W=670 // + 146
CALC &Win_H=462 + 49 + 50 + 12 - 12
SET WifiN=50
CALC &PAGE_H=100+20*%WifiN%  //50项
CALL @WinWifi
_SUB WinWifi,W%&Win_W%H%&Win_H%,Wifi_Title,,,#,,
    SWIN :Page1,L1T1W(%&Win_W% - 10)H505,,0x140
    LABE -center -vcenter LB,L1T505W(%&Win_W% - 10)H30,  打开网络共享中心, MESS CALL NetCenter
_END
_SUB Page1,W(%&Win_W% - 2)H%PAGE_H%,,,,    //:0xFFFFFF
    ENVI @this.bkcolor=0xFFFFFF*
    ENVI &Page1_WID=%&__WinID%
//  当前连接到
    LABE -vcenter LBCur,L30T2W538H30,当前连接到
    ENVI @LBCur.bkcolor=0xFFFFFF*
    LABE -vcenter LBDial,L30T100W538H30,拨号VPN
    ENVI @LBDial.bkcolor=0xFFFFFF*
    LABE -vcenter LBWifi,L30T280W538H30,无线网络连接,
    ENVI @LBWifi.bkcolor=0xFFFFFF*
    SET$ &TAB=09
    SET$ &NLa=0a
    SET$ &NL=0d 0a
    SET$ &SL=0C  //分行
    SET$ &SC=0B  //分列
    ENVI &&TITLE=400:名称%&SC%+80:状态%SC%:70:信号
    CALC WifiH=20*%WifiN%
    TABL -sl:%&SL% -sc:%&SC% -font::::::::::20  TABL3,L30T310W538H%WifiH%,%&TITLE%,,0x486280  //可含图片。
    SET &I=0
    LOOP #%I%<%WifiN%, TEAM~ CALC I=%I%+1~ ENVI @TABL3.Val=*:l%&NL%c%&TAB%:0*;Wifi%I%%&TAB% %&TAB%*P:W24H24S32)V32|setupapi.dll#10|IconGroup
_END

点评

我之前就是用的表格写的,现在又想到了另一种方案  详情 回复 发表于 2022-4-21 10:56
回复

使用道具 举报

16671#
发表于 2022-4-20 23:41:51 | 只看该作者
本帖最后由 泮安宁 于 2022-4-20 23:45 编辑

自定义缩放设置为125显示很清楚,但帮助页面框线非常乱,不整齐

关闭自定义缩放,缩放还是125(系统推荐),PECMD帮助页面显示很模糊,但框线很整齐
(以上情况在WIN10和WIN11测试)
可能就是这个原因吧,用PECMD写出来的工具,在有的缩放下显示正常,但换一个缩放就显示不全了,例如按钮上的字像被遮挡了似的,显示不全

不知道是系统原因还是PECMD的原因

点评

缩放尽量自己处理,用微软的API自己处理。 若让PECMD自己处理,会影响到别人的程序设计不妥。  详情 回复 发表于 2022-4-21 01:08
回复

使用道具 举报

16672#
发表于 2022-4-21 01:08:40 | 只看该作者
泮安宁 发表于 2022-4-20 23:41
自定义缩放设置为125显示很清楚,但帮助页面框线非常乱,不整齐

关闭自定义缩放,缩放还是125(系统推荐 ...

缩放尽量自己处理,用微软的API自己处理。
若让PECMD自己处理,会影响到别人的程序设计不妥。

点评

大佬可以告知具体处理方法吗  详情 回复 发表于 2022-4-21 12:36
红毛大师 RAMD ImDisk,L500,NTFS,B:,ImDisk1,,1 有点搞不懂 wim文件500M+ 解压1000M 挂载后B盘属性显示只是已使用了130M  详情 回复 发表于 2022-4-21 05:28
回复

使用道具 举报

16673#
发表于 2022-4-21 01:10:10 | 只看该作者
826773297 发表于 2022-4-20 21:42
好像PECMD用的字体不一样

※"ENVI @窗口或控件名.Font=[字体大小][:[字体名][字体修饰]]"。 //设置字体,参见EDIT
可以自己设置字体。
回复

使用道具 举报

16674#
发表于 2022-4-21 01:15:02 | 只看该作者
826773297 发表于 2022-4-20 19:59
感觉pecmd写的界面不太好满足我的设计需求










都能做的,而且很漂亮,下功夫就好了。
回复

使用道具 举报

16675#
 楼主| 发表于 2022-4-21 02:58:41 | 只看该作者
826773297 发表于 2022-4-20 19:55
_SUB WIN1,W402H254,新窗口1,
    ENVI @WIN1.BKCOLOR=0XFFFFFF
    ITEM -nscope ITEM1,L31T103W240H80, ...

ENVI$ &NL=0d 0a
_SUB WIN1,W402H254,新窗口1,
     ENVI @WIN1.BKCOLOR=0XFFFFFF
     ITEM -nscope ITEM1,L31T103W240H80,564646%&NL%548949,,,
     ENVI @ITEM1.bkcolor=0xffffff
     ENVI @ITEM1.MSG=0x1000:ENVI @ITEM1.bkcolor=0xff
     ENVI @ITEM1.MSG=0x02A3:ENVI @ITEM1.bkcolor=0xffffff
     //LABE -trans LABE1,L171T143W60H30,LABE1,,
_END
WIN1
回复

使用道具 举报

16676#
 楼主| 发表于 2022-4-21 03:57:08 | 只看该作者
本帖最后由 mdyblog 于 2022-4-21 08:16 编辑
826773297 发表于 2022-4-20 19:55
_SUB WIN1,W402H254,新窗口1,
    ENVI @WIN1.BKCOLOR=0XFFFFFF
    ITEM -nscope ITEM1,L31T103W240H80, ...

ENVI$ &NL=0d 0a
_SUB WIN1,W402H254,新窗口1,
     ENVI @WIN1.BKCOLOR=0XFFFFFF
     ITEM -nscope -color:#0xffffff##0x0000FF ITEM1,L31T103W240H80,123456%&NL%548949,,#1,
     //ENVI @ITEM1.bkcolor=0xffffff
     //ENVI @ITEM1.MSG=0x1000:ENVI @ITEM1.bkcolor=0xff
     //ENVI @ITEM1.MSG=0x02A3:ENVI @ITEM1.bkcolor=0xffffff
     //LABE -trans LABE1,L171T143W60H30,LABE1,,
_END
WIN1
回复

使用道具 举报

16677#
 楼主| 发表于 2022-4-21 03:57:46 | 只看该作者
826773297 发表于 2022-4-20 19:58
按钮图标大小如果能自定义就好了

自动缩放。
回复

使用道具 举报

16678#
发表于 2022-4-21 05:28:04 | 只看该作者
红毛樱木 发表于 2022-4-21 01:08
缩放尽量自己处理,用微软的API自己处理。
若让PECMD自己处理,会影响到别人的程序设计不妥。

红毛大师  RAMD ImDisk,L500,NTFS,B:,ImDisk1,,1 有点搞不懂  wim文件500M+  解压1000M  挂载后B盘属性显示只是已使用了130M

点评

那个应该是快速挂载技术,但是你把所有文件都读取一下使用一下,体积就能体现出来了  详情 回复 发表于 2022-4-21 07:28
回复

使用道具 举报

16679#
发表于 2022-4-21 07:28:55 来自手机 | 只看该作者
23456 发表于 2022-4-21 05:28
红毛大师  RAMD ImDisk,L500,NTFS,B:,ImDisk1,,1 有点搞不懂  wim文件500M+  解压1000M  挂载后B盘属性显 ...

那个应该是快速挂载技术,但是你把所有文件都读取一下使用一下,体积就能体现出来了

评分

参与人数 1无忧币 +5 收起 理由
23456 + 5 谢谢解答

查看全部评分

回复

使用道具 举报

16680#
发表于 2022-4-21 09:05:13 | 只看该作者
mdyblog 发表于 2022-4-20 10:51
1:
没加 ENVI^ FORCELOCAL=1

ENVI^ FORCELOCAL=1 的情况下,我发现系统变量有些能正常使用,而有些不能,比如%SystemDrive%能正常使用,而%Userprofile%不能使用。
那么:
1. 同样是环境变量,为什么有些能使用而有些不能呢?
2. 这时候,怎么样才能正常使用变量%Userprofile%呢?

点评

少数几个 常用 系统变量 有双份。 PE变量中也有,如SystemDrive。 ENVI^ FORCELOCAL=1 取环境变量: %^变量名% %^Userprofile% 设置环境变量: ENVI-env 变量名=值 ENVI-env Userprofile=值  详情 回复 发表于 2022-4-21 10:06
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-23 23:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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