无忧启动论坛

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

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

    [复制链接]
18991#
发表于 2024-5-20 09:19:48 | 只看该作者
mdyblog 发表于 2024-5-20 09:00
你的代码中有
MSTR V1x,v3x=......
这样 右边多个 ,且第一个为   的吗?

没有,就直接用MOUN

  1. <p>_SUB LOAD_OP
  2. TEAM ENVI OP_NUM=0|ENVI OP_DRV=|ENVI DEF_DRV=|ENVI MSG=|ENVI PressKey=|ENVI TmpDrv=
  3. MOUN-udm -findboot -CurDrvR -mall -mhide -mnorhide -u+ -udfs -nbrd -udimg:H3PE/OP.IMG -udimg:udext.img -Checkfile:H3PE/WINPE.INI -Checkfile:BOOT/H3_3PEIN.WIM -ret:&&v \\.\PhysicalDrive* B-
  4. FORX *NL &v,&&vi,
  5. {* </p><p>MSTR &&Drv=<~1>%&vi%
  6.     FIND $%&Drv%=, EXIT -
  7.     IFEX %&Drv%\H3PE\WINPE.INI,ENVI MyIni=%&Drv%\H3PE\WINPE.INI!IFEX %&Drv%\WINPE.INI,ENVI MyIni=%&Drv%\WINPE.INI!EXIT -
  8.     COUNT_OP
  9. }
  10. </p>
复制代码
所有代码只上面用到MSTR &&Drv=<~1>%&vi%这种模式,而且是此句之前就有问题,MOUN这句的结果就有问题了。这句的本意就是找启动分区含有H3PE/WINPE.INI 或者BOOT/H3_3PEIN.WIM文件且B盘符这后的盘。我的系统中有两个启动分区,有一个是MBR盘的活动分区,另一个是GPT盘建了ESP分区,这两个区装有我的PE系统,所以用MOUN命令会把这两个分区的盘符找出来。直到512E都是正常的。记得这个用法,也是你给我优化的。

回复

使用道具 举报

18992#
发表于 2024-5-20 09:53:02 | 只看该作者
mdyblog 发表于 2024-5-20 09:16
缩放 保持比例, 需要用 -csize 控制窗口

100%效果:

请教老大, 知道一个窗口的wid号, 如何通过代码激活该窗口的标题栏, 这样设置的窗口热键才有效.

点评

[attachimg]541845[/attachimg]  详情 回复 发表于 2024-5-20 10:46
回复

使用道具 举报

18993#
发表于 2024-5-20 10:24:54 | 只看该作者
mdyblog 发表于 2024-5-20 09:03
2、PART -iv=1 list drv C:,&PrtNum 获取的分区号前面有个空格,具体参看帖子末尾的示例。
4、MEMO -ric ...

谢谢!
0512G版测试成功
回复

使用道具 举报

18994#
发表于 2024-5-20 10:34:55 | 只看该作者
mdyblog 发表于 2024-5-20 09:16
缩放 保持比例, 需要用 -csize 控制窗口

100%效果:

谢谢回复!代码没太看明白,但是窗口的尺寸太小,内容显示不全了。

这两天,我做了个测试,统计了显示比例为100%~250%时,窗口高度超出预期的数值。
基于此,有个不成熟的思路,给脚本添加了一段代码,在窗口生成后立即进行高度修正,效果似乎还可以,请参看附件的脚本。
_TEST_SCALE_V2.zip (42.83 KB, 下载次数: 1)


点评

前面说过,用#无边框,就标准了,不然影响的因素太多。 无边框时,可以自己画标题栏和最小化按钮,我之前发过一个帖子模拟Windows10窗口的可以直接拿来用,翻一下  详情 回复 发表于 2024-5-20 11:05
前面说过,用#无边框,就标准了,不然影响的因素太多。 无边框时,可以自己画标题栏和最小化按钮,我之前发过一个帖子模拟Windows10窗口的可以直接拿来用,翻一下  详情 回复 发表于 2024-5-20 11:05
可以。 但是 缩放比 太多了。 WIn7上可以随便手动输入一个数值。 设计得当。 大家保持一个比例。 2各比例调好, 大家就都好了。 窗口 太大, 放大就超出屏幕, 没法测试, 所以缩小了, 演示一下。 关键是-csiz  详情 回复 发表于 2024-5-20 10:48
回复

使用道具 举报

18995#
发表于 2024-5-20 10:46:53 | 只看该作者
conlin888 发表于 2024-5-20 09:53
请教老大, 知道一个窗口的wid号, 如何通过代码激活该窗口的标题栏, 这样设置的窗口热键才有效.


回复

使用道具 举报

18996#
 楼主| 发表于 2024-5-20 10:48:40 | 只看该作者
本帖最后由 mdyblog 于 2024-5-20 10:50 编辑
Anson4 发表于 2024-5-20 10:34
谢谢回复!代码没太看明白,但是窗口的尺寸太小,内容显示不全了。

这两天,我做了个测试,统计了显示 ...

可以。 但是 缩放比 太多了。 WIn7上可以随便手动输入一个数值。
设计得当。 大家保持一个比例。  2各比例调好, 大家就都好了。

窗口 太大, 放大就超出屏幕, 没法测试, 所以缩小了, 演示一下。 关键是-csize参数, 可以保持统一比例。必须先看看我发的代码。别管大小。 大小里面 用 (原始大小-缩小量)。
再家也个量,就是原来擦不多的大小。




点评

我测试的时候,只比较窗口右下角的“关闭”按钮顶部与底部的空间。 因此可以将窗口的LT值设置为负数,只要窗口右下角区域在显示范围内就可以了。  详情 回复 发表于 2024-5-20 11:40
回复

使用道具 举报

18997#
发表于 2024-5-20 11:00:45 来自手机 | 只看该作者
hhh333 发表于 2024-5-20 08:46
只是没想到MOUN会受影响,改成新形式如果更加科学,也可以不用保留原来的,可以把受影响的其他地方相应改 ...

千万别,你没用不代表别人没用,兼容旧格式肯定是必要条件
回复

使用道具 举报

18998#
发表于 2024-5-20 11:05:02 来自手机 | 只看该作者
Anson4 发表于 2024-5-20 10:34
谢谢回复!代码没太看明白,但是窗口的尺寸太小,内容显示不全了。

这两天,我做了个测试,统计了显示 ...

前面说过,用#无边框,就标准了,不然影响的因素太多。
无边框时,可以自己画标题栏和最小化按钮,我之前发过一个帖子模拟Windows10窗口的可以直接拿来用,翻一下

点评

谢谢!  详情 回复 发表于 2024-5-20 11:08
回复

使用道具 举报

18999#
发表于 2024-5-20 11:05:13 来自手机 | 只看该作者
本帖最后由 红毛樱木 于 2024-5-20 11:07 编辑
Anson4 发表于 2024-5-20 10:34
谢谢回复!代码没太看明白,但是窗口的尺寸太小,内容显示不全了。

这两天,我做了个测试,统计了显示 ...


前面说过,用#无边框,就标准了,不然影响的因素太多。
无边框时,可以自己画标题栏和最小化按钮,我之前发过一个帖子模拟Windows10窗口的可以直接拿来用,翻一下
……
忘记了没发过,回头发
回复

使用道具 举报

19000#
发表于 2024-5-20 11:08:01 | 只看该作者
红毛樱木 发表于 2024-5-20 11:05
前面说过,用#无边框,就标准了,不然影响的因素太多。
无边框时,可以自己画标题栏和最小化按钮,我之 ...

谢谢!
回复

使用道具 举报

19001#
发表于 2024-5-20 11:40:39 | 只看该作者
mdyblog 发表于 2024-5-20 10:48
可以。 但是 缩放比 太多了。 WIn7上可以随便手动输入一个数值。
设计得当。 大家保持一个比例。  2各比 ...

我测试的时候,只比较窗口右下角的“关闭”按钮顶部与底部的空间。
因此可以将窗口的LT值设置为负数,只要窗口右下角区域在显示范围内就可以了。

点评

奇怪, 是需要调整一下。 试试这个。 效果: 100: [attachimg]541858[/attachimg] 175: [attachimg]541859[/attachimg]  详情 回复 发表于 2024-5-20 14:03
好办法  详情 回复 发表于 2024-5-20 12:05
回复

使用道具 举报

19002#
 楼主| 发表于 2024-5-20 12:05:52 | 只看该作者
Anson4 发表于 2024-5-20 11:40
我测试的时候,只比较窗口右下角的“关闭”按钮顶部与底部的空间。
因此可以将窗口的LT值设置为负数,只 ...

好办法
回复

使用道具 举报

19003#
 楼主| 发表于 2024-5-20 12:08:56 | 只看该作者
Anson4 发表于 2023-6-12 20:55
整理一下 18536 楼反馈的问题:
PECMD2012.1.88.05.94Stable-230422 版本,对于某些磁盘的0x07分区被手动 ...

PECMD==========Anson4.7z

PART -gui


点评

谢谢!  详情 回复 发表于 2024-5-21 15:46
[attachimg]541864[/attachimg] 这个窗口可以调整的默认大点吗,mbr的磁盘没问题,但是gpt的,类型、属性、签名等信息比较长,看不全,每次都得把列宽拉一下,这样一页就显示不全了,还需要横向的拉动滚动条  详情 回复 发表于 2024-5-20 15:46
回复

使用道具 举报

19004#
发表于 2024-5-20 13:24:18 | 只看该作者
&a和&::a有啥区别,都是全局的吗

点评

&::a 是全局的。 永不消失。 在 永不消失的 "最顶级范围"。 &&a 是当前的范围的。 退出当前范围,就自动消失。 &a 两者都可一访问到。 碰到谁就是谁。反向匹配。 没碰到就当 &&a 处理。  详情 回复 发表于 2024-5-20 14:09
回复

使用道具 举报

19005#
 楼主| 发表于 2024-5-20 14:03:10 | 只看该作者
Anson4 发表于 2024-5-20 11:40
我测试的时候,只比较窗口右下角的“关闭”按钮顶部与底部的空间。
因此可以将窗口的LT值设置为负数,只 ...

奇怪, 是需要调整一下。
试试这个。 TEST_SCALE2-csize.zip (13.77 KB, 下载次数: 4)



效果:
100:


175:

点评

这个效果好太多了 唯一存在的瑕疵是窗口宽度似乎打了那么一点,直观上请看下图红色箭头所指的地方宽度增加了一点。 [attachimg]541866[/attachimg]  详情 回复 发表于 2024-5-20 16:53
回复

使用道具 举报

19006#
 楼主| 发表于 2024-5-20 14:09:47 | 只看该作者
泮安宁 发表于 2024-5-20 13:24
&a和&::a有啥区别,都是全局的吗

&::a 是全局的。 永不消失。 在 永不消失的 "最顶级范围"。
&&a 是当前的范围的。 退出当前范围,就自动消失。
&a 两者都可一访问到。 碰到谁就是谁。反向匹配。 没碰到就当 &&a 处理。

点评

算是理解了  详情 回复 发表于 2024-5-20 15:48
回复

使用道具 举报

19007#
发表于 2024-5-20 15:44:47 | 只看该作者
Slore大的原话,M大看一下:
  1. 显示桌面的发送的消息是对的,但是UWP组件的话,下面的explorer.exe的函数有3处会崩溃。
  2. 需要修改explorer.exe的代码,跳过这些崩溃的语句。

  3. Function CTray::_OnDesktopState(CTray *__hidden this, __int64)
  4. + 9f -> crash explorer
  5. + e1 -> crash explorer
  6. + 10f -> crash explorer
  7. end function

  8. Function CTray::_RaiseDesktop(enum RAISEDESKTOPFLAGS)
  9. end function
复制代码


点评

直接换成 NOP 指令吗?  详情 回复 发表于 2024-5-20 16:22
回复

使用道具 举报

19008#
发表于 2024-5-20 15:46:02 | 只看该作者
mdyblog 发表于 2024-5-20 12:08
PECMD==========Anson4.7z

PART -gui



这个窗口可以调整的默认大点吗,mbr的磁盘没问题,但是gpt的,类型、属性、签名等信息比较长,看不全,每次都得把列宽拉一下,这样一页就显示不全了,还需要横向的拉动滚动条

点评

好的。 G2版  详情 回复 发表于 2024-5-21 07:12
回复

使用道具 举报

19009#
发表于 2024-5-20 15:48:08 | 只看该作者
mdyblog 发表于 2024-5-20 14:09
&::a 是全局的。 永不消失。 在 永不消失的 "最顶级范围"。
&&a 是当前的范围的。 退出当前范围,就自动 ...

算是理解了
回复

使用道具 举报

19010#
 楼主| 发表于 2024-5-20 16:22:54 | 只看该作者
hhh333 发表于 2024-5-20 15:44
Slore大的原话,M大看一下:

直接换成 NOP  指令吗?

点评

我也没太特别看懂。改后如果失效那就没意义,如果跳过这些地方依旧有用就是完美的。  详情 回复 发表于 2024-5-20 17:57
回复

使用道具 举报

19011#
发表于 2024-5-20 16:53:34 | 只看该作者
mdyblog 发表于 2024-5-20 14:03
奇怪, 是需要调整一下。
试试这个。

这个效果好太多了
唯一存在的瑕疵是窗口宽度似乎打了那么一点,直观上请看下图红色箭头所指的地方宽度增加了一点。

点评

W后米参数 改小点就行。  详情 回复 发表于 2024-5-20 17:00
回复

使用道具 举报

19012#
 楼主| 发表于 2024-5-20 17:00:13 | 只看该作者
本帖最后由 mdyblog 于 2024-5-20 17:07 编辑
Anson4 发表于 2024-5-20 16:53
这个效果好太多了
唯一存在的瑕疵是窗口宽度似乎打了那么一点,直观上请看下图红色箭头所指的地方宽度增 ...

W后参数 改小点就行 -7。 对应 POS也要要一致。 TEST_SCALE3-csize.zip (2.48 KB, 下载次数: 4)

点评

M大,再进一步的应用中,遇到了这样一个问题: 在打开窗口之后,基于某个实际需求,需要调整窗口的尺寸,在使用了-csize后,应如何处理? [attachimg]541950[/attachimg]  详情 回复 发表于 2024-5-22 14:40
谢谢! 我尝试修改窗口为不同的尺寸,这个方法似乎通用,很好。  详情 回复 发表于 2024-5-20 18:02
回复

使用道具 举报

19013#
发表于 2024-5-20 17:57:47 | 只看该作者
mdyblog 发表于 2024-5-20 16:22
直接换成 NOP  指令吗?

我也没太特别看懂。改后如果失效那就没意义,如果跳过这些地方依旧有用就是完美的。
回复

使用道具 举报

19014#
发表于 2024-5-20 18:02:28 | 只看该作者
mdyblog 发表于 2024-5-20 17:00
W后参数 改小点就行 -7。 对应 POS也要要一致。

谢谢!
我尝试修改窗口为不同的尺寸,这个方法似乎通用,很好。
回复

使用道具 举报

19015#
发表于 2024-5-20 22:21:21 | 只看该作者
引用传递是不能传递本级变量名吗
  1. CALL test1
  2. _SUB test1
  3.     ENVI$# &&a=*a 0
  4.     ENVI-int &&a=1
  5.     CALL test2 &&a
  6. _END
  7. _SUB test2
  8.     GETF %~1,0#*,&&b
  9.     MESS %&&b%
  10. _END
复制代码
----------------------------------------------

两命令整数值可用&var(取地址),是怎么用的

----------------------------------------------

GETF可以用地址读取数据吗,如GETF 0x123456,0#*,&a

点评

CALL test2 &&a 到 GETF %~1,0#*,&&b 然后就变成 GETF &&a,0#*,&&b了。所以是空的。 ------------------------------- 要这样 CALL test2 &a  详情 回复 发表于 2024-5-20 23:27
回复

使用道具 举报

19016#
 楼主| 发表于 2024-5-20 23:10:13 | 只看该作者
本帖最后由 mdyblog 于 2024-5-20 23:11 编辑
hhh333 发表于 2024-5-19 18:05
1、F版32位在win7正常系统中运行是这样的:

因此32位PE中就直接出内存不能为读的错误直接重启了

为什么 我调试 , 都是这样形式。 就一个S:
是你ISO理自带的PECMD.EXE, 换了好多个,都是如此。


点评

有可能他有两个一样结构的U盘,都是HHH333的PE,我猜的  详情 回复 发表于 2024-5-20 23:27
回复

使用道具 举报

19017#
发表于 2024-5-20 23:27:01 | 只看该作者
泮安宁 发表于 2024-5-20 22:21
引用传递是不能传递本级变量名吗----------------------------------------------

两命令整数值可用&var ...

CALL test2 &&a

GETF %~1,0#*,&&b
然后就变成
GETF &&a,0#*,&&b了。所以是空的。
-------------------------------
要这样
CALL test2 &a

点评

这样的话是不是如果有个同名全局变量就冲突了  详情 回复 发表于 2024-5-21 00:03
回复

使用道具 举报

19018#
发表于 2024-5-20 23:27:56 | 只看该作者
mdyblog 发表于 2024-5-20 23:10
为什么 我调试 , 都是这样形式。 就一个S:
是你ISO理自带的PECMD.EXE, 换了好多个,都是如此。

有可能他有两个一样结构的U盘,都是HHH333的PE,我猜的

点评

我说的是列数, 它的好多列 盘符后面 好多其它信息: [attachimg]541875[/attachimg]  详情 回复 发表于 2024-5-21 05:55
回复

使用道具 举报

19019#
发表于 2024-5-21 00:03:12 | 只看该作者
红毛樱木 发表于 2024-5-20 23:27
CALL test2 &&a

GETF %~1,0#*,&&b

这样的话是不是如果有个同名全局变量就冲突了

点评

&a 不是全局的 &::a 才是全局的 &a 会逆向查找, 站到上级的已经有的 &&a 上级 先 ENVI &&a=... 已经有了&&a。 后面&a就能找到它。  详情 回复 发表于 2024-5-21 07:15
回复

使用道具 举报

19020#
 楼主| 发表于 2024-5-21 05:55:25 | 只看该作者
红毛樱木 发表于 2024-5-20 23:27
有可能他有两个一样结构的U盘,都是HHH333的PE,我猜的

我说的是列数, 它的好多列
盘符后面 好多其它信息:

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-26 18:32

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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