无忧启动论坛

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

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

    [复制链接]
16651#
 楼主| 发表于 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
回复

使用道具 举报

16652#
发表于 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
回复

使用道具 举报

16653#
发表于 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
回复

使用道具 举报

16654#
发表于 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解压后的空间大小
回复

使用道具 举报

16655#
发表于 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
回复

使用道具 举报

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

点评

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

使用道具 举报

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

点评

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

使用道具 举报

16658#
发表于 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
回复

使用道具 举报

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

点评

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

使用道具 举报

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

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

使用道具 举报

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

好像PECMD用的字体不一样

点评

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

使用道具 举报

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

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

使用道具 举报

16663#
发表于 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
回复

使用道具 举报

16664#
 楼主| 发表于 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
回复

使用道具 举报

16665#
发表于 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
回复

使用道具 举报

16666#
发表于 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
回复

使用道具 举报

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

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

使用道具 举报

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










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

使用道具 举报

16669#
 楼主| 发表于 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
回复

使用道具 举报

16670#
 楼主| 发表于 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
回复

使用道具 举报

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

自动缩放。
回复

使用道具 举报

16672#
发表于 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
回复

使用道具 举报

16673#
发表于 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 谢谢解答

查看全部评分

回复

使用道具 举报

16674#
发表于 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
回复

使用道具 举报

16675#
发表于 2022-4-21 09:29:51 | 只看该作者
从帮助文档可以看到,BROW指令打开的对话框有三种风格:
1. 选择或者保存文件
2. 选择目录
3. 混合选择文件和目录
我看到有些软件的选择目录以及混合选择文件和目录的对话框风格与选择或者保存文件的对话框风格相同(请参看看下图),
那么,用PECMD的如何实现呢?

点评

新版\示例\BROWDirX.wcs  详情 回复 发表于 2022-4-23 10:13
HOOK: [attachimg]500106[/attachimg]  详情 回复 发表于 2022-4-22 10:41
这个 需要HOOK  详情 回复 发表于 2022-4-22 09:04
回复

使用道具 举报

16676#
发表于 2022-4-21 09:41:52 | 只看该作者
在执行一个耗时比较长的操作时,如何实现手动终止该操作?比如:
1. 用FILE指令复制大量文件
2. 用FORX进行遍历磁盘搜索文件
目前我所知道的是,调用外部命令时,可以通过杀死PID的方式来终止,但是对于PECMD的自有指令,不知道如何实现手动终止。

点评

FORX 循环中 检测一个终止标志变量为0 就 EXIT FORX 需要终止时 , 设置 终止标志变量 为 0  详情 回复 发表于 2022-4-21 11:25
这是上次我请教的M大,不知道对你有没有用  详情 回复 发表于 2022-4-21 10:51
回复

使用道具 举报

16677#
 楼主| 发表于 2022-4-21 10:06:30 | 只看该作者
本帖最后由 mdyblog 于 2022-4-21 10:10 编辑
Anson4 发表于 2022-4-21 09:05
在 ENVI^ FORCELOCAL=1 的情况下,我发现系统变量有些能正常使用,而有些不能,比如%SystemDrive%能正常 ...

少数几(5)个 常用 系统级 系统变量 有双份。 PE变量中也有,如SystemDrive。
//5个: "SystemRoot","SystemDrive","windir","TEMP", "TMP"

ENVI^ FORCELOCAL=1
取环境变量: %^变量名%   %^Userprofile%
设置环境变量: ENVI-env  变量名=值     ENVI-env  Userprofile=值

点评

谢谢回复!  发表于 2022-4-21 22:24
回复

使用道具 举报

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

我这里是dpi的原因,自定义dpi就不模糊了

点评

Win7X64 正常系统, 手动 改 配置, DPI缩放改为 125%。 效果: [attachimg]500226[/attachimg]  详情 回复 发表于 2022-4-24 03:43
就是说系统dpi是125,pecmd也要设置成125就不模糊吗  详情 回复 发表于 2022-4-21 10:51
回复

使用道具 举报

16679#
发表于 2022-4-21 10:51:23 | 只看该作者
泮安宁 发表于 2022-4-21 10:48
我这里是dpi的原因,自定义dpi就不模糊了

就是说系统dpi是125,pecmd也要设置成125就不模糊吗

点评

WIn7X64 手动设为DPI缩放 125% 记事本显示也一样。不同字体,效果不一样。 9#字体效果 (PECMD为9#) [attachimg]500227[/attachimg] 改为 7#效果: (五号也好, 小四号就非常漂亮) [attachimg]500228[/  详情 回复 发表于 2022-4-24 03:57
系统显示设置这里,dpi设置成100就不模糊了 [attachimg]500050[/attachimg] 或者不用系统给出的这几个dpi,自定义dpi [attachimg]500049[/attachimg] [attachimg]500048[/attachimg] 自定义dpi即使设置成125,  详情 回复 发表于 2022-4-21 11:23
回复

使用道具 举报

16680#
发表于 2022-4-21 10:51:38 | 只看该作者
Anson4 发表于 2022-4-21 09:41
在执行一个耗时比较长的操作时,如何实现手动终止该操作?比如:
1. 用FILE指令复制大量文件
2. 用FORX进 ...
KILL  *%&__PID%
这才是 杀死 本进程。 自杀了。 什么都没了
子线程立即终止。本身也不继续执行 KILL 后面的代码。而是直接终止,原地死亡。

这是上次我请教的M大,不知道对你有没有用

点评

谢谢回复!  发表于 2022-4-21 22:24
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-29 13:51

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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