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

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

   火... [复制链接]
发表于 2017-8-30 17:16:52 | 显示全部楼层
本帖最后由 hhh333 于 2017-8-30 17:18 编辑
mdyblog 发表于 2017-8-30 17:08
现在对用户也是透明的。 PECMD.INI 还是如XP一样的操作。


问题是要双份的文件复制进内核,实际上可以在内存中处理,让用户感觉不到要两个文件配合的。
当然更彻底的办法就是让pecmd拥有explorer的权限。

点评

问题是要双份的文件复制进内核, ------------------- WIM中好像自动压缩,实际存储的是1份。 如果不是WIM而是NTFS文件系统,可以建立符号链接。实际存储的也是1份。  详情 回复 发表于 2017-8-31 16:58
让用户感觉不到要两个文件配合的. ---------------------------- 那是不是也需要一个标志文件。使得允许这样操作。 这是因为后续的版本也许不需要这样处理,或者某个大牛的版本,不需要这么处理。 没有这个标志  详情 回复 发表于 2017-8-31 11:24
回复

使用道具 举报

 楼主| 发表于 2017-8-31 11:24:39 | 显示全部楼层
hhh333 发表于 2017-8-30 17:16
问题是要双份的文件复制进内核,实际上可以在内存中处理,让用户感觉不到要两个文件配合的。
当然更彻 ...

让用户感觉不到要两个文件配合的.
----------------------------
那是不是也需要一个标志文件。使得允许这样操作。
这是因为后续的版本也许不需要这样处理,或者某个大牛的版本,不需要这么处理。
没有这个标志,PECMD就不这样操作。

点评

这样算了,按你的,不改内核,只改PECMD.INI。如果需要处理就在PECMD.INI所在位置建立PECMD.EXE.Dir\explorer.exe。也就是说只要有PECMD.EXE.Dir\explorer.exe存在就按此方式处理PINT。 这都不好。要么不处  详情 回复 发表于 2017-8-31 15:49
回复

使用道具 举报

发表于 2017-8-31 15:49:47 | 显示全部楼层
mdyblog 发表于 2017-8-31 11:24
让用户感觉不到要两个文件配合的.
----------------------------
那是不是也需要一个标志文件。使得允 ...

这样算了,按你的,不改内核,只改PECMD.INI。如果需要处理就在PECMD.INI所在位置建立PECMD.EXE.Dir\explorer.exe。也就是说只要有PECMD.EXE.Dir\explorer.exe存在就按此方式处理PINT。

  1. FIND $%BootOS%=W10,IFEX %WS%\winsrvext.dll,
  2. {
  3.         PATH %curdir%\pecmd.exe.dir
  4.         FILE PECMD.EXE=>pecmd.exe.dir\EXPLORER.EXE
  5.         CALL SCRRN
  6. }
复制代码



这都不好。要么不处理,由我们来处理,就象前面一样,我们自己复制自己改代码。
要么就彻底处理,可以给PINT加一个参数,或者给ENVI ^加个参数,凡是加了这个参数的就代表要特殊处理PINT。包括建立pecmd.exe.dir\EXPLORER.EXE等过程都不用操心,由程序完成。

点评

我说的这张方法,就是不改PECMD.INI,下载的有些PECMD.INI是加密的,也无法修改。 这就是将PECMD.EXE 和 PECMD.EXE.DIR\Explorer.exe一起放到WIM中。就可以了。 不用改任何代码。  详情 回复 发表于 2017-8-31 17:57
pint 问题,其实真不用管,知道怎么处理就可以了 在哪里放改名的PECMD都无所谓,PECMD.INI里面, 路径写对就行  详情 回复 发表于 2017-8-31 16:53
回复

使用道具 举报

发表于 2017-8-31 16:53:34 | 显示全部楼层
hhh333 发表于 2017-8-31 15:49
这样算了,按你的,不改内核,只改PECMD.INI。如果需要处理就在PECMD.INI所在位置建立PECMD.EXE.Dir\expl ...

pint 问题,其实真不用管,知道怎么处理就可以了
在哪里放改名的PECMD都无所谓,PECMD.INI里面, 路径写对就行
回复

使用道具 举报

 楼主| 发表于 2017-8-31 16:58:47 | 显示全部楼层
hhh333 发表于 2017-8-30 17:16
问题是要双份的文件复制进内核,实际上可以在内存中处理,让用户感觉不到要两个文件配合的。
当然更彻 ...

问题是要双份的文件复制进内核,
-------------------
WIM中好像自动压缩,实际存储的是1份。

如果不是WIM而是NTFS文件系统,可以建立符号链接。实际存储的也是1份。
回复

使用道具 举报

 楼主| 发表于 2017-8-31 17:57:58 | 显示全部楼层
本帖最后由 mdyblog 于 2017-8-31 18:11 编辑
hhh333 发表于 2017-8-31 15:49
这样算了,按你的,不改内核,只改PECMD.INI。如果需要处理就在PECMD.INI所在位置建立PECMD.EXE.Dir\expl ...


我说的这张方法,就是不改PECMD.INI,下载的有些PECMD.INI是加密的,也无法修改。
这就是将PECMD.EXE 和 PECMD.EXE.DIR\Explorer.exe一起放到WIM中。就可以了。
不用改任何代码。

对写PECMD.INI来说,完全是透明的,就想是正常的Win7PE一样。PECMD.INI中也不用COPy  EXPLORER.EXE
回复

使用道具 举报

发表于 2017-8-31 21:46:30 | 显示全部楼层
为了pint去改内置代码感觉不合适。。感觉M大这样处理很好,在WIM启动的PE中二份文件其实也只占一个文件的空间。
回复

使用道具 举报

 楼主| 发表于 2017-9-1 20:56:20 | 显示全部楼层
MENU 可换列

点评

menu换列,能否举个例子?  详情 回复 发表于 2017-9-2 10:56
回复

使用道具 举报

发表于 2017-9-2 10:56:10 | 显示全部楼层

menu换列,能否举个例子?

点评

#!PECMD //CALL --popmenu:10.10 MyMenu1 CALL @--popmenu MyMenu1 _SUB MyMenu1 MENU Menu1,分辨率1024X768 颜色32位 刷新率60,DISP W1024H768B32F60 MENU Menu2,【动态】分辨率1024X768 颜  详情 回复 发表于 2017-9-2 11:08
回复

使用道具 举报

 楼主| 发表于 2017-9-2 11:08:26 | 显示全部楼层
489432757 发表于 2017-9-2 10:56
menu换列,能否举个例子?


#!PECMD
//CALL --popmenu:10.10 MyMenu1
CALL @--popmenu       MyMenu1

_SUB MyMenu1
    MENU Menu1,分辨率1024X768 颜色32位 刷新率60,DISP W1024H768B32F60
    MENU Menu2,【动态】分辨率1024X768 颜色16位 刷新率60,DISP W1024H768B16F60
    MENU -
    MENU Menu3,分辨率800X600  颜色16位 刷新率60,DISP W800H600B16F60,0x20
_END
1.png
回复

使用道具 举报

发表于 2017-9-2 13:47:22 | 显示全部楼层
本帖最后由 huaqingyuan 于 2017-9-2 13:53 编辑
mdyblog 发表于 2017-7-24 20:39
要设置下,EN_CHANGE

SET ::EN_CHANGE=0x0300


SET &::EN_CHANGE=0x0300
SET &::EN_UPDATE=0x400
SET  ::WM_COMMAND=0x0111

CALL a

_SUB a,W334H94,
     EDIT -3D  b,L23T21W280H22,,,0x100
     ENVI @b.ID=?;b_ID
     //ENVI @this.MSG=_COMMAND#%b_ID%#%&EN_CHANGE%::&wp,&lp, MESS 值已改变
    ENVI @this.MSG=_COMMAND#%b_ID%#%EN_UPDATE%::&wp,&lp,  @TEAM CALC I=%I%+1| ENVI @this=%I%值已改变%b% %wp% %lp% %b_ID%
_END

%B% 的值是上一次的值, BaiduShurufa_2017-9-2_13-51-13.jpg


EDIT -3D -rich b,L23T21W280H22,,,0x100
%B% 的值是本次的值,,这里是不是需要修改一下!

点评

由于你 拦截了 中间消息,此时PECMD流程还没完成。所以变量还没更新。 可以 POSTMSG转下,让PECMD走完再处理。 ENVI^ ForceLocal=1 SET ::EN_CHANGE=0x0300 SET &::EN_CHANGE=0x0300 SET &::EN_UPDATE=  详情 回复 发表于 2017-9-2 13:59
回复

使用道具 举报

 楼主| 发表于 2017-9-2 13:59:06 | 显示全部楼层
本帖最后由 mdyblog 于 2017-9-2 14:05 编辑
huaqingyuan 发表于 2017-9-2 13:47
SET &::EN_CHANGE=0x0300
SET &::EN_UPDATE=0x400
SET  ::WM_COMMAND=0x0111


由于你 拦截了 中间消息,此时PECMD流程还没完成。所以变量还没更新。
可以 POSTMSG转下,让PECMD走完再处理。

ENVI^ ForceLocal=1

SET ::EN_CHANGE=0x0300


SET &::EN_CHANGE=0x0300
SET &::EN_UPDATE=0x400
SET  ::WM_COMMAND=0x0111

CALL a

_SUB a,W634H94,
     EDIT -3D  b,L23T21W580H22,,,0x100
     ENVI @b.ID=?;b_ID
     //ENVI @this.MSG=_COMMAND#%b_ID%#%&EN_CHANGE%::&wp,&lp, MESS 值已改变
    //ENVI @this.MSG=_COMMAND#%b_ID%#%EN_UPDATE%::&wp,&lp,  @TEAM CALC I=%I%+1| ENVI @this=%I%值已改变%b% %wp% %lp% %b_ID%
    ENVI @this.MSG=_COMMAND#%b_ID%#%EN_UPDATE%::&wp,&lp,  ENVI @this.POSTMSG=#1,%wp%,%lp%
    ENVI @this.MSG=#1::wp,lp,@TEAM CALC I=%I%+1| ENVI @this=%I%值已改变%b% %wp% %lp% %b_ID%
_END
1.png
回复

使用道具 举报

发表于 2017-9-2 14:05:07 | 显示全部楼层
为何加了 -rich,就没问题呢?

点评

rich是完全不同的控件。 消息机制也不同。 zhishi PECMD吧两个不同的控件绑在一条命令上。  详情 回复 发表于 2017-9-2 14:06
回复

使用道具 举报

 楼主| 发表于 2017-9-2 14:06:38 | 显示全部楼层
huaqingyuan 发表于 2017-9-2 14:05
为何加了 -rich,就没问题呢?

rich是完全不同的控件。
消息机制也不同。
zhishi PECMD吧两个不同的控件绑在一条命令上。

点评

明白了,感谢详细解答!  详情 回复 发表于 2017-9-2 14:09
回复

使用道具 举报

发表于 2017-9-2 14:09:28 | 显示全部楼层
mdyblog 发表于 2017-9-2 14:06
rich是完全不同的控件。
消息机制也不同。
zhishi PECMD吧两个不同的控件绑在一条命令上。

明白了,感谢详细解答!
回复

使用道具 举报

发表于 2017-9-2 17:29:06 | 显示全部楼层
为什么Pecmd变化
HKCU\Control Panel\Desktop,WallPaper,0  (0 => 2)
旁路 (其他 ?)
  1. SHEL %WinDir%\explorer.exe
  2. REGI HKCU\Control Panel\Desktop\WallpaperStyle=0
  3. KILL %WinDir%\explorer.exe
复制代码

点评

想说什么啊?  详情 回复 发表于 2017-9-2 19:31
回复

使用道具 举报

 楼主| 发表于 2017-9-2 19:31:56 | 显示全部楼层
2011ChrisR 发表于 2017-9-2 17:29
为什么Pecmd变化
HKCU\Control Panel\Desktop,WallPaper,0  (0 => 2)
旁路 (其他 ?)

想说什么啊?
回复

使用道具 举报

发表于 2017-9-2 20:04:40 | 显示全部楼层
Procmon.exe
  1. Process Name | Operation        | Path                                                                       | Detail
  2. Pecmd.exe     | RegQueryValue | HKU\.DEFAULT\Control Panel\Desktop\WallpaperStyle | 10
  3. Pecmd.exe     | RegSetValue     | HKU\.DEFAULT\Control Panel\Desktop\WallpaperStyle | 2
复制代码

点评

没明白!!??  详情 回复 发表于 2017-9-2 23:00
回复

使用道具 举报

 楼主| 发表于 2017-9-2 23:00:15 | 显示全部楼层


没明白!!??
别打哑谜! 没时间磨叽。

点评

他应该是要问,pecmd为什么去修改注册表Control Panel\Desktop\WallpaperStyle  详情 回复 发表于 2017-9-2 23:32
回复

使用道具 举报

发表于 2017-9-2 23:32:56 | 显示全部楼层
mdyblog 发表于 2017-9-2 23:00
没明白!!??
别打哑谜! 没时间磨叽。

他应该是要问,pecmd为什么去修改注册表Control Panel\Desktop\WallpaperStyle

点评

查了下,源码(CPP C H WCS INI) 中店铺没有这个字眼。 也就是说,我没有去整这个。 可能是MS在某个AP内部在。 如果 “RegSetValue HKU\.DEFAULT\Control Panel\Desktop\WallpaperStyle”, 似乎, 是有用  详情 回复 发表于 2017-9-3 07:08
回复

使用道具 举报

 楼主| 发表于 2017-9-3 07:08:59 | 显示全部楼层
本帖最后由 mdyblog 于 2017-9-3 07:12 编辑
sp_star 发表于 2017-9-2 23:32
他应该是要问,pecmd为什么去修改注册表Control Panel\Desktop\WallpaperStyle


查了下,源码(CPP C H WCS INI) 中都没有WallpaperStyle这个字眼。
也就是说,我没有去整这个。

可能是MS在某个AP内部在做的吧。
如果 “RegSetValue    HKU\.DEFAULT\Control Panel\Desktop\WallpaperStyle”, 似乎, 是有用户脚本在设置WALL, 调用WALL命令。
WALL命令 的确有API 和 WallpaperStyle 有关。

可以办脚本中的 WALL都删掉试试。
回复

使用道具 举报

发表于 2017-9-3 22:45:09 | 显示全部楼层
对不起翻译 (Sorry for translation)
它是 HKCU\Control Panel\Desktop\WallpaperStyle,0 => Pecmd SHEL %WinDir%\explorer.exe => WallpaperStyle,2

It is not important. Do not waste time. Thank you for the great Pecmd
它并不重要。. 不要浪费时间。. 感谢您伟大的 Pecmd
回复

使用道具 举报

发表于 2017-9-4 16:17:21 | 显示全部楼层
mdyblog 发表于 2017-8-25 10:00
是不是有什么可写开关?

我没有明白!你说的是什么开关?
回复

使用道具 举报

发表于 2017-9-5 10:56:09 | 显示全部楼层
刚才测试了一下PINT,到开始菜单可以在SHEL explorer前,到任务栏必须在之后才能显示出来。

点评

到任务栏必须在之后才能显示出来 ------------------ 好像是 EXPLOER进程 在 实际干活。 没有 EXPLOER进程, 没实际执行者  详情 回复 发表于 2017-9-5 22:15
回复

使用道具 举报

 楼主| 发表于 2017-9-5 22:15:05 | 显示全部楼层
本帖最后由 mdyblog 于 2017-9-5 22:17 编辑
hhh333 发表于 2017-9-5 10:56
刚才测试了一下PINT,到开始菜单可以在SHEL explorer前,到任务栏必须在之后才能显示出来。


到任务栏必须在之后才能显示出来
------------------
好像是  EXPLOER进程 在 实际干活。
没有  EXPLOER进程, 没实际执行者

这个很要紧吗。 不要紧 就这样了。

点评

不是很要紧。但我报告的还是有点不对,即实际上是外置中的PINT命令在SHEL之前也是成功的,就是PECMD.INI中的不行。 如放这个就可以: _SUB NT6_ENDPROG `管理工具及固定到开始菜单或任务栏 TEAM CALL NT6_Link  详情 回复 发表于 2017-9-6 07:42
回复

使用道具 举报

发表于 2017-9-6 07:42:09 | 显示全部楼层
mdyblog 发表于 2017-9-5 22:15
到任务栏必须在之后才能显示出来
------------------
好像是  EXPLOER进程 在 实际干活。

不是很要紧。但我报告的还是有点不对,即实际上是外置中的PINT命令在SHEL之前也是成功的,就是PECMD.INI中的不行。

如放这个就可以:
_SUB NT6_ENDPROG
`管理工具及固定到开始菜单或任务栏
TEAM CALL NT6_LinkMMC|CALL NT6_PINT
....

如放这个位置就不行:
`Win7/8/10初始化
_SUB NT6_INIT
......
`管理工具及固定到开始菜单或任务栏
TEAM CALL NT6_LinkMMC|CALL NT6_PINT
_END

但MMC.WIM中的PINT似乎又成功了,这个装载应该也是在SHEL之前啊。因此有点看不懂了。

点评

测试了下,放在 _SUB NT6_INIT里面也是有效的。 10peX86效果: [attachimg]352861[/attachimg] 改好的测试 10peX86的WIM,覆盖\BOOT\H3_10PE.WIM,启动即可看到效果。 先不要修改次WIM,或提取文件自己修改,请  详情 回复 发表于 2017-9-7 17:03
回复

使用道具 举报

发表于 2017-9-6 19:44:07 | 显示全部楼层
M大,在请教一个小问题,设置拖动敏感区后,关闭按钮失效,怎么解决

_SUB Windows1,W540H520,win1,
ENVI @this.HitTest=500:540

_END
Windows1
右上角关闭失效了,

_SUB Windows1,W540H520,win1,
//ENVI @this.HitTest=500:540

_END
Windows1
敏感区注释掉就好了!
回复

使用道具 举报

发表于 2017-9-6 20:02:15 | 显示全部楼层
_SUB Windows1,W540H520,win1,
\\ENVI @this.HitTest=500:540
ENVI @this.HitTest=500:540:0:20
_END
Windows1
这样解决了!帮助还是不够详细!
回复

使用道具 举报

发表于 2017-9-6 20:03:29 | 显示全部楼层
ENVI @this.HitTest=500:::20也可以!

点评

20就是跳过标题栏  详情 回复 发表于 2017-9-6 22:37
回复

使用道具 举报

发表于 2017-9-6 21:13:11 | 显示全部楼层
M大,请问如何刷新任务栏右下角图标?不杀死explorer的情况下。

点评

TIPS *  详情 回复 发表于 2017-9-6 22:37
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-17 23:10

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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