无忧启动论坛

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

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

    [复制链接]
15751#
 楼主| 发表于 2021-5-21 15:59:47 | 只看该作者

窗口杀不死的!

只是谁知结束标志。
函数结尾 时 检查到 这个标志, 就关闭 窗口。
函数都卡在那儿,不结束, 窗口 自然不结束。

点评

,# 的隐藏窗口不用杀?自动退出吗? 是不是这个意思  详情 回复 发表于 2021-5-21 16:34
回复

使用道具 举报

15752#
 楼主| 发表于 2021-5-21 16:02:24 | 只看该作者
红毛樱木 发表于 2021-5-20 16:24
EDIT通过.Color设置了字体后,没有保持,每次都需要重新设置,可能增加功能保持吗?

rich 支持不同的颜色。
各地方颜色可不同。
因此 各地方需要指定 各自 (不同的)颜色。

点评

m大,把DEVI哪么强化一下,不太想用其他工具,希望用脚本一步到位 1、不要全部解包,应精确制导解包 2、有索引时用索引查找 3、安装后不要再尝试安装其他驱动(其实这项多余,只要精确解包出来的才安装就没有反复  详情 回复 发表于 2021-5-21 19:30
收到  详情 回复 发表于 2021-5-21 16:35
回复

使用道具 举报

15753#
发表于 2021-5-21 16:13:05 | 只看该作者
学习了
回复

使用道具 举报

15754#
发表于 2021-5-21 16:34:53 | 只看该作者
mdyblog 发表于 2021-5-21 15:59
窗口杀不死的!

只是谁知结束标志。

,#
的隐藏窗口不用杀?自动退出吗?
是不是这个意思

点评

M大是这个意思: 不退出循环,肯定就死在里面了。 CALL @MAIN MESS 结束 _SUB MAIN,# LOOP #1=1, {* KILL \ EXIT } _END  详情 回复 发表于 2021-5-21 18:18
回复

使用道具 举报

15755#
发表于 2021-5-21 16:35:08 | 只看该作者
mdyblog 发表于 2021-5-21 16:02
rich 支持不同的颜色。
各地方颜色可不同。
因此 各地方需要指定 各自 (不同的)颜色。

收到
回复

使用道具 举报

15756#
发表于 2021-5-21 18:18:54 | 只看该作者
红毛樱木 发表于 2021-5-21 16:34
,#
的隐藏窗口不用杀?自动退出吗?
是不是这个意思

M大是这个意思:
不退出循环,肯定就死在里面了。

CALL @MAIN
MESS 结束

_SUB MAIN,#
LOOP #1=1,
{*
    KILL \
    EXIT
}
_END

点评

EXIT _SUB 就可以退出一切了  详情 回复 发表于 2021-5-21 20:40
回复

使用道具 举报

15757#
发表于 2021-5-21 19:30:15 | 只看该作者
本帖最后由 hhh333 于 2021-5-21 19:36 编辑
mdyblog 发表于 2021-5-21 16:02
rich 支持不同的颜色。
各地方颜色可不同。
因此 各地方需要指定 各自 (不同的)颜色。

m大,把DEVI哪么强化一下,不太想用其他工具,希望用脚本一步到位
1、不要全部解包,应精确制导解包
2、有索引时用索引查找
3、安装后不要再尝试安装其他驱动(其实这项多余,只要精确解包出来的才安装就没有反复尝试安装的问题)

现在devi的说明很繁杂看起来脑壳痛,但核心痛点没抓住,也许是我不会用吧

点评

DEVI已经支持了。 老早就在 韦哥的PE中用上了。 DEVI 先预先建HASH。放在对应目录。 DEVI 安装时,自动 调取HASH, 多线程安装。  详情 回复 发表于 2021-5-22 17:23
总结一条: 安装某一个设备的驱动,成功一次就结束此设备的驱动安装。 这样就快了  详情 回复 发表于 2021-5-21 20:41
回复

使用道具 举报

15758#
发表于 2021-5-21 19:34:07 | 只看该作者
Lightning 发表于 2021-5-21 12:09
多线程同步匹配可以提高效率,查找匹配1000个inf文件在1秒内。

把你的代码贴出来让我们学习一下
回复

使用道具 举报

15759#
发表于 2021-5-21 20:40:38 | 只看该作者
本帖最后由 红毛樱木 于 2021-5-21 20:51 编辑
527104427 发表于 2021-5-21 18:18
M大是这个意思:
不退出循环,肯定就死在里面了。

EXIT _SUB  就可以退出一切了,所以就认为KILL \就更牛X一些,结果不是  哈哈
回复

使用道具 举报

15760#
发表于 2021-5-21 20:41:42 | 只看该作者
hhh333 发表于 2021-5-21 19:30
m大,把DEVI哪么强化一下,不太想用其他工具,希望用脚本一步到位
1、不要全部解包,应精确制导解包
2 ...

总结一条:

安装某一个设备的驱动,成功一次就结束此设备的驱动安装。  这样就快了

点评

这是一条,还有一条就是不要解开包中的所有文件再安装,而要有的放矢  详情 回复 发表于 2021-5-21 22:24
回复

使用道具 举报

15761#
发表于 2021-5-21 22:04:24 | 只看该作者
感谢楼主分享!!!
回复

使用道具 举报

15762#
发表于 2021-5-21 22:24:04 | 只看该作者
本帖最后由 hhh333 于 2021-5-21 22:27 编辑
红毛樱木 发表于 2021-5-21 20:41
总结一条:

安装某一个设备的驱动,成功一次就结束此设备的驱动安装。  这样就快了

这是一条,还有一条就是不要解开包中的所有文件再安装,而要有的放矢

实际上就是一条:把与本机硬件对应的驱动从包中成百上千个驱动中拎出来安装

点评

现在的规则就是先处理inf然后获取信息再对应解压的,如果不是的话,那就是bug  详情 回复 发表于 2021-5-22 02:11
回复

使用道具 举报

15763#
发表于 2021-5-22 02:11:02 来自手机 | 只看该作者
hhh333 发表于 2021-5-21 22:24
这是一条,还有一条就是不要解开包中的所有文件再安装,而要有的放矢

实际上就是一条:把与本机硬件对 ...

现在的规则就是先处理inf然后获取信息再对应解压的,如果不是的话,那就是bug

点评

安装多个设备时,再以多线程同步解压对应解压驱动,解压后再多线程同步安装这样更快。 举例: 多线程同步操作就像4辆车同时在赛道上跑100km,每辆车100km/h,1h后4辆车同时到达终点。 单线程操作就像4辆车在赛  详情 回复 发表于 2021-5-22 12:41
哦,那就及时跳出来就可以了。  详情 回复 发表于 2021-5-22 08:54
回复

使用道具 举报

15764#
发表于 2021-5-22 08:54:44 | 只看该作者
红毛樱木 发表于 2021-5-22 02:11
现在的规则就是先处理inf然后获取信息再对应解压的,如果不是的话,那就是bug

哦,那就及时跳出来就可以了。
回复

使用道具 举报

15765#
发表于 2021-5-22 12:41:24 | 只看该作者
红毛樱木 发表于 2021-5-22 02:11
现在的规则就是先处理inf然后获取信息再对应解压的,如果不是的话,那就是bug

安装多个设备时,再以多线程同步解压对应解压驱动,解压后再多线程同步安装这样更快。

举例:
多线程同步操作就像4辆车同时在赛道上跑100km,每辆车100km/h,1h后4辆车同时到达终点。
单线程操作就像4辆车在赛道上接力跑100km,每辆车100km/h,4h后4辆车可到达终点。
回复

使用道具 举报

15766#
 楼主| 发表于 2021-5-22 17:23:11 | 只看该作者
本帖最后由 mdyblog 于 2021-5-22 17:27 编辑
hhh333 发表于 2021-5-21 19:30
m大,把DEVI哪么强化一下,不太想用其他工具,希望用脚本一步到位
1、不要全部解包,应精确制导解包
2 ...

DEVI已经支持了。 老早就在 韦哥的PE中用上了。

DEVI 先预先建HASH。放在对应目录。DEVI buildcache: 驱动目录  //生成目录的加速缓冲   

DEVI 安装时,自动 调取HASH, 多线程安装。
不要全部解包: 这个是通过MOUN实现的。 所以用WIM打包。
(不打包直接目录当然支持)

另外, 最好分类下, 放在不同目录。
不如显卡, 就只在显卡目录中找。




点评

这个hash要先建好再打包到WIM吗?  详情 回复 发表于 2021-5-22 17:42
先把HASH放一边,譬如大的显卡驱动我是放WIM中,先MOUN,后用DEVI *sub MOUN_DIR,Display,这个没毛病吧?也看到装好了,就是半天不出来,这是啥子原因,多十多秒钟  详情 回复 发表于 2021-5-22 17:34
回复

使用道具 举报

15767#
发表于 2021-5-22 17:34:03 | 只看该作者
mdyblog 发表于 2021-5-22 17:23
DEVI已经支持了。 老早就在 韦哥的PE中用上了。

DEVI 先预先建HASH。放在对应目录。DEVI buildcache:  ...

先把HASH放一边,譬如大的显卡驱动我是放WIM中,先MOUN,后用DEVI *sub MOUN_DIR,Display,这个没毛病吧?也看到装好了,就是半天不出来,这是啥子原因,多十多秒钟

点评

换个别的小驱动看看。 排除 驱动本身的特性。  详情 回复 发表于 2021-5-22 20:37
回复

使用道具 举报

15768#
发表于 2021-5-22 17:42:42 | 只看该作者
本帖最后由 hhh333 于 2021-5-22 17:45 编辑
mdyblog 发表于 2021-5-22 17:23
DEVI已经支持了。 老早就在 韦哥的PE中用上了。

DEVI 先预先建HASH。放在对应目录。DEVI buildcache:  ...

这个hash要先建好再打包到WIM吗?另外,如果7z打包的驱动呢,有不有好办法,怎么写代码?我现在是先全解压,后面又来DEVI *sub XXX,感觉很笨

点评

1: 这个hash要先建好再打包到WIM吗?另 ---- 对 2: 7z怎么也得解压啊。 7z得抽取功能很慢的。 建议还是WIM打包。 MOUN 后想看哪个就看哪个。  详情 回复 发表于 2021-5-22 20:36
回复

使用道具 举报

15769#
 楼主| 发表于 2021-5-22 20:36:36 | 只看该作者
hhh333 发表于 2021-5-22 17:42
这个hash要先建好再打包到WIM吗?另外,如果7z打包的驱动呢,有不有好办法,怎么写代码?我现在是先全解 ...

1:
这个hash要先建好再打包到WIM吗?另
----


2:
7z怎么也得解压啊。
7z得抽取功能很慢的。
建议还是WIM打包。 MOUN  后想看哪个就看哪个。


回复

使用道具 举报

15770#
 楼主| 发表于 2021-5-22 20:37:57 | 只看该作者
本帖最后由 mdyblog 于 2021-5-22 20:39 编辑
hhh333 发表于 2021-5-22 17:34
先把HASH放一边,譬如大的显卡驱动我是放WIM中,先MOUN,后用DEVI *sub MOUN_DIR,Display,这个没毛病吧 ...

换个别的小驱动看看。 排除 驱动本身的特性。
还是要hash。 否则 要全部轮训 所有显卡驱动(INF), 这个可能挺费时的。

点评

M大,刚才我建立了含hash的WIM,还是与原来一样,驱动安装好后要等个十几秒才出来,现在不是找驱动慢,而是明明看到显卡安装好了,但就是一下子不跳出来,不知那十多秒在干么子事  详情 回复 发表于 2021-5-22 21:27
回复

使用道具 举报

15771#
发表于 2021-5-22 21:27:37 | 只看该作者
本帖最后由 hhh333 于 2021-5-22 21:29 编辑
mdyblog 发表于 2021-5-22 20:37
换个别的小驱动看看。 排除 驱动本身的特性。
还是要hash。 否则 要全部轮训 所有显卡驱动(INF), 这 ...

M大,刚才我建立了含hash的WIM,还是与原来一样,驱动安装好后要等个十几秒才出来,现在不是找驱动慢,而是明明看到显卡安装好了,但就是一下子不跳出来,不知那十多秒在干么子事
核心代码还是前面说的,先moun,再DEVI *sub XXX

点评

搞个日志上来看看呗。是不是一激动就忘记日志的事了,哈哈  详情 回复 发表于 2021-5-22 21:42
回复

使用道具 举报

15772#
发表于 2021-5-22 21:42:32 来自手机 | 只看该作者
hhh333 发表于 2021-5-22 21:27
M大,刚才我建立了含hash的WIM,还是与原来一样,驱动安装好后要等个十几秒才出来,现在不是找驱动慢,而 ...

搞个日志上来看看呗。是不是一激动就忘记日志的事了,哈哈
回复

使用道具 举报

15773#
 楼主| 发表于 2021-5-23 01:39:26 | 只看该作者
本帖最后由 mdyblog 于 2021-5-23 02:42 编辑
hhh333 发表于 2021-5-20 07:32
红毛,你对驱动很有研究,近期论坛中发布了几款驱动安装工具。我比较了一下,譬如显卡驱动,我是打包在WIM ...

搞过 完整的演示调试环境过来吧, 可VM调试。
回复

使用道具 举报

15774#
 楼主| 发表于 2021-5-23 01:42:39 | 只看该作者
2012fengxi 发表于 2021-5-16 07:33
进入PE后,执行:PAGE C:\PAGEFILE.SYS 128 256 没起作用,C盘不产生PAGEFILE.SYS

内存 够, 就不建立了。


PAGE *force C:\PAGEFILE.SYS 128 256
回复

使用道具 举报

15775#
 楼主| 发表于 2021-5-23 01:50:24 | 只看该作者
红毛樱木 发表于 2021-4-19 18:14
右键点击表格第一行(测试数据只放了一行),然后“点击测试”,发现&SelInfos[/backcolor ...

_SUB MAIN,W800H600,测试MENU中的变量,
    TABL &TABL1,L42T5W194H125,50:C1%&TAB%+50:C2%&TAB%-50:C3,%&TITLE%
    ENVI @&TABL1.Val=0*#;1%&TAB%2
    ENVI @&TABL1.MSG=_%&WM_RBUTTONDOWN%: CALL @--popmenu ABC
    SET &SelInfos=
_END

先建一个窗口变量。

点评

这个好像有点尴尬,比如 &&SelInfos变量只想在_SUB ABC里用怎么办? 比如这样子  详情 回复 发表于 2021-5-23 02:43
回复

使用道具 举报

15776#
发表于 2021-5-23 02:43:38 | 只看该作者
本帖最后由 红毛樱木 于 2021-5-23 02:57 编辑
mdyblog 发表于 2021-5-23 01:50
_SUB MAIN,W800H600,测试MENU中的变量,
    TABL &TABL1,L42T5W194H125,50:C1%&TAB%+50:C2%&TAB%-50:C3, ...

这个好像有点尴尬,比如
&&SelInfos变量只想在_SUB ABC里或者_SUB Do里用怎么办?
比如这样子


  1. ENVI$ &TAB=09
  2. ENVI &WM_RBUTTONDOWN=0x0204
  3. CALL @MAIN
  4. _SUB MAIN,W800H600,测试MENU中的变量,
  5.     TABL &TABL1,L42T5W194H125,50:C1%&TAB%+50:C2%&TAB%-50:C3,%&TITLE%
  6.     ENVI @&TABL1.Val=0*#;1%&TAB%2
  7.     ENVI @&TABL1.MSG=_%&WM_RBUTTONDOWN%: CALL @--popmenu ABC
  8. ENVI &SelInfos=
  9. _END

  10. _SUB ABC
  11.     ENVI @&TABL1.Sel=?&SelLine
  12.     ENVI @&TABL1.Val=?%&SelLine%;&&SelInfos
  13.     //MESS. %&SelInfos%
  14.     MENU ,点击测试,CALL Do
  15. _END

  16. _SUB Do
  17.     MESS. %&SelInfos%
  18. _END
复制代码


点评

窗口响应函数在窗口级别, 比这个母函数高, 看不到母函数的私有变量,屏蔽了。 可以用地址,通过参数传递 ENVI$ &TAB=09 ENVI &WM_RBUTTONDOWN=0x0204 CALL @MAIN _SUB MAIN,W800H600,测试MENU中的变量,  详情 回复 发表于 2021-5-23 09:09
回复

使用道具 举报

15777#
发表于 2021-5-23 06:25:33 | 只看该作者
本帖最后由 hhh333 于 2021-5-23 06:36 编辑

清晨起来测试。
大师们看一下,这是脚本与结果,一个是用论坛中发表的DriverIndexer安装的,一个是用DEVI安装的,也把两种安装方式的setupapi.dev.log记录了下来: AMD64.7z (7.39 KB, 下载次数: 0)
setupapi.dev.log中记录的时间也是DEVI用得久,而且要装两次,不知何故。

点评

你的PE链接 下载:https://cloud.189.cn/t/bE3INn3y6Rra (访问码:6e7r) 失效了。 重新共享下,长期吧。  详情 回复 发表于 2021-5-23 09:29
要装两次,不知何故 ----------------- 基本都是这样。 PE中一般盲找驱动。 有时有驱动依赖。需要多几次安装检测。  详情 回复 发表于 2021-5-23 09:12
看先看不看得出门道,如果不行,我再把驱动包传上来,这个包好像以前是红毛发表的。  详情 回复 发表于 2021-5-23 06:40
回复

使用道具 举报

15778#
发表于 2021-5-23 06:40:25 | 只看该作者
hhh333 发表于 2021-5-23 06:25
清晨起来测试。
大师们看一下,这是脚本与结果,一个是用论坛中发表的DriverIndexer安装的,一个是用DEVI ...

看先看不看得出门道,如果不行,我再把驱动包传上来,这个包好像以前是红毛发表的。
回复

使用道具 举报

15779#
 楼主| 发表于 2021-5-23 09:09:08 | 只看该作者
红毛樱木 发表于 2021-5-23 02:43
这个好像有点尴尬,比如
&&SelInfos变量只想在_SUB ABC里或者_SUB Do里用怎么办?
比如这样子


窗口响应函数在窗口级别, 比这个母函数高, 看不到母函数的私有变量,屏蔽了。
可以用地址,通过参数传递

ENVI$ &TAB=09
ENVI &WM_RBUTTONDOWN=0x0204
CALL @MAIN
_SUB MAIN,W800H600,测试MENU中的变量,
    TABL &TABL1,L42T5W194H125,50:C1%&TAB%+50:C2%&TAB%-50:C3,%&TITLE%
    ENVI @&TABL1.Val=0*#;1%&TAB%2
    ENVI @&TABL1.MSG=_%&WM_RBUTTONDOWN%: CALL @--popmenu ABC
_END

_SUB ABC
    ENVI @&TABL1.Sel=?&SelLine
    ENVI @&TABL1.Val=?%&SelLine%;&&SelInfos
    //MESS. %&SelInfos%
    ENVI-addr  &&addr1=&SelInfos   //取地址
    MENU ,点击测试,CALL Do %addr1%  //传地址
_END

_SUB Do
    ENVI-mkfixdummy  &&SelInfos=%~1;$     //更具地址造FixDummy变量
    MESS. %&SelInfos%  //
_END


点评

这里太饶了,是不是menu的特殊性造成了这种问题  详情 回复 发表于 2021-5-23 10:33
回复

使用道具 举报

15780#
 楼主| 发表于 2021-5-23 09:12:10 | 只看该作者
本帖最后由 mdyblog 于 2021-5-23 09:24 编辑
hhh333 发表于 2021-5-23 06:25
清晨起来测试。
大师们看一下,这是脚本与结果,一个是用论坛中发表的DriverIndexer安装的,一个是用DEVI ...

要装两次,不知何故
-----------------
基本都是这样。
PE中一般盲找驱动。 有时有驱动依赖。需要多几次安装检测。我看看怎么关掉。


---
改了下 加了个开关
*1
网盘 中 PECMD_HHH333-DBG.rar
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2026-1-22 03:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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