无忧启动论坛

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

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

    [复制链接]
18331#
发表于 2023-2-1 21:31:05 | 只看该作者
求道者 发表于 2023-2-1 21:27
然后TEAM不会等待前一个命令执行完了之后再执行后一个命令是吧?
PECMD有没有多线程命令?
让EXEC =运 ...

exec后面=是等待执行完成,不加=则不等待
team是按顺序执行,和是否等待没有关系,要等待你就加=

点评

似乎就是wpeinit还没完成初始化,然后我就整理盘符了。 盘符总是出问题。 我就加了等待,之后就不出问题了。 但是出现了堵塞。 开机要等很久。 能多线程吗? 让wpeinit和整理盘符用另外一个线程打开。  详情 回复 发表于 2023-2-1 21:33
回复

使用道具 举报

18332#
发表于 2023-2-1 21:31:12 | 只看该作者
826773297 发表于 2023-2-1 21:29
驱动安装会刷新分辨率

OK,监听WM_DISPLAYCHANGE用什么命令?

点评

下载pecmd包,里面有示例文件夹,找分辨率变化那个示例  详情 回复 发表于 2023-2-1 21:35
回复

使用道具 举报

18333#
发表于 2023-2-1 21:33:49 | 只看该作者
826773297 发表于 2023-2-1 21:31
exec后面=是等待执行完成,不加=则不等待
team是按顺序执行,和是否等待没有关系,要等待你就加=
  1. EXEC @%WinDir%\System32\wpeinit.exe
复制代码

似乎就是wpeinit还没完成初始化,然后我就整理盘符了。
盘符总是出问题。
我就加了等待,之后盘符整理就不出问题了。
但是出现了堵塞。
开机要等很久。
能多线程吗?
让wpeinit和整理盘符用另外一个线程打开。

点评

THREAD命令  详情 回复 发表于 2023-2-1 21:38
回复

使用道具 举报

18334#
发表于 2023-2-1 21:35:14 | 只看该作者
求道者 发表于 2023-2-1 21:31
OK,监听WM_DISPLAYCHANGE用什么命令?

下载pecmd包,里面有示例文件夹,找分辨率变化那个示例

点评

似乎是遇上了BUG。  详情 回复 发表于 2023-2-1 22:38
THREAD,新开线程。 我记得我问过m大。 当时非常魔怔。 打算把解压全部多线程化。 结果就白费时间。 我下个包看看示例吧。 希望有用。  详情 回复 发表于 2023-2-1 21:38
回复

使用道具 举报

18335#
发表于 2023-2-1 21:38:32 | 只看该作者
求道者 发表于 2023-2-1 21:33
似乎就是wpeinit还没完成初始化,然后我就整理盘符了。
盘符总是出问题。
我就加了等待,之后盘符整 ...

THREAD命令
回复

使用道具 举报

18336#
发表于 2023-2-1 21:38:39 | 只看该作者
826773297 发表于 2023-2-1 21:35
下载pecmd包,里面有示例文件夹,找分辨率变化那个示例

THREAD,新开线程。
我记得我问过m大。
当时非常魔怔。
我打算把解压全部多线程化。
结果就白费时间。

我下个包看看示例吧。
希望有用。
回复

使用道具 举报

18337#
发表于 2023-2-1 22:38:48 | 只看该作者
本帖最后由 求道者 于 2023-2-1 22:42 编辑
826773297 发表于 2023-2-1 21:35
下载pecmd包,里面有示例文件夹,找分辨率变化那个示例

似乎是遇上了BUG。
  1. ENVI^ EnviMode=1
  2. ENVI$ &TAB=09
  3. SET  ::WM_DISPLAYCHANGE                =0x007E
  4. ENVI @this.MSG=_%&::WM_DISPLAYCHANGE%: CALL SPICE
  5. DEVI listdev:&VA *inf=base
  6. SED -ni -ex a=?,PCI\\VEN_1B36&DEV_0100&SUBSYS_11001AF4.*?%&TAB%,b,&VA
  7. FIND |%A%>0,DEVI %WinDir%\System32\DriverStore\FileRepository\qxldod.inf_amd64_6199f9ecf2339133\qxldod.inf

  8. _SUB SPICE
  9. MESS OK
  10. _END

  11. MESS 退出
  12. TEXT  //清除
复制代码



跑示例然后加载驱动也一样。



点评

消息一般都是窗体接收的。搞在窗口里监听  详情 回复 发表于 2023-2-2 00:29
回复

使用道具 举报

18338#
发表于 2023-2-1 23:27:34 | 只看该作者
http://wuyou.net/forum.php?mod=viewthread&tid=433983
这边这个需求确实要用API。
不用API就要把文件全读到内存里。

点评

读内存问题很大吗,你电脑内存是512还是256  详情 回复 发表于 2023-2-2 08:56
回复

使用道具 举报

18339#
发表于 2023-2-2 00:29:08 来自手机 | 只看该作者
求道者 发表于 2023-2-1 22:38
似乎是遇上了BUG。



消息一般都是窗体接收的。搞在窗口里监听

点评

示例就是那样的。 m大没测试过吗?  详情 回复 发表于 2023-2-2 00:39
回复

使用道具 举报

18340#
发表于 2023-2-2 00:39:50 | 只看该作者
红毛樱木 发表于 2023-2-2 00:29
消息一般都是窗体接收的。搞在窗口里监听

示例就是那样的。
m大没测试过吗?
回复

使用道具 举报

18341#
发表于 2023-2-2 08:56:12 | 只看该作者
求道者 发表于 2023-2-1 23:27
http://wuyou.net/forum.php?mod=viewthread&tid=433983
这边这个需求确实要用API。
不用API就要把文件全 ...

读内存问题很大吗,你电脑内存是512还是256

点评

那搞个100G的ini给你读一下,哈哈  详情 回复 发表于 2023-2-2 13:51
回复

使用道具 举报

18342#
发表于 2023-2-2 13:51:29 来自手机 | 只看该作者
826773297 发表于 2023-2-2 08:56
读内存问题很大吗,你电脑内存是512还是256

那搞个100G的ini给你读一下,哈哈

点评

红毛哥,这个返回的东西是整数。 怎么转化成字符串然后对比呢?  详情 回复 发表于 2023-2-2 22:41
100G是没法读,现实中也没这么大的文本,不过read也可以按行数读取,直接逆序读就行  详情 回复 发表于 2023-2-2 15:02
回复

使用道具 举报

18343#
发表于 2023-2-2 15:02:31 | 只看该作者
本帖最后由 826773297 于 2023-2-2 15:07 编辑
红毛樱木 发表于 2023-2-2 13:51
那搞个100G的ini给你读一下,哈哈

100G是没法读,现实中也没这么大的文本,大文本一般也不会用到pecmd,都是有专业的软件管理

点评

不考虑这种极端情况,我也会希望实现能稍微优雅一点。 无所谓这层的话,前面安装驱动我直接等待5秒就完事了。 哪用折腾这么多。  详情 回复 发表于 2023-2-2 17:48
回复

使用道具 举报

18344#
发表于 2023-2-2 17:48:39 | 只看该作者
826773297 发表于 2023-2-2 15:02
100G是没法读,现实中也没这么大的文本,大文本一般也不会用到pecmd,都是有专业的软件管理

不考虑这种极端情况,我也会希望实现能稍微优雅一点。
无所谓这层的话,前面安装驱动我直接等待5秒就完事了。
哪用折腾这么多。

点评

确实,等红毛给你翻译一下吧  详情 回复 发表于 2023-2-2 17:53
回复

使用道具 举报

18345#
发表于 2023-2-2 17:53:28 | 只看该作者
求道者 发表于 2023-2-2 17:48
不考虑这种极端情况,我也会希望实现能稍微优雅一点。
无所谓这层的话,前面安装驱动我直接等待5秒就完 ...

确实,等红毛给你翻译一下吧

点评

http://wuyou.net/forum.php?mod=viewthread&tid=434157 帮忙看看有啥问题没?  详情 回复 发表于 2023-2-5 16:08
回复

使用道具 举报

18346#
发表于 2023-2-2 22:41:21 | 只看该作者
红毛樱木 发表于 2023-2-2 13:51
那搞个100G的ini给你读一下,哈哈
  1. CALL $--ret:&&ret Kernel32.dll,GetPrivateProfileInt,程序,外置工具模式,#0,D:\FirPE.ini
复制代码

红毛哥,这个返回的东西是整数。
怎么转化成字符串然后对比呢?
回复

使用道具 举报

18347#
发表于 2023-2-3 17:53:35 | 只看该作者
谢谢分享!
回复

使用道具 举报

18348#
发表于 2023-2-5 16:08:21 | 只看该作者
826773297 发表于 2023-2-2 17:53
确实,等红毛给你翻译一下吧

http://wuyou.net/forum.php?mod=viewthread&tid=434157
哥,帮忙看看有啥问题没?
回复

使用道具 举报

18349#
发表于 2023-2-8 16:43:06 | 只看该作者
楼主辛苦了 谢谢
回复

使用道具 举报

18350#
发表于 2023-2-10 14:39:45 来自手机 | 只看该作者
新版出来,高手可以测试一下,感谢楼主。
回复

使用道具 举报

18351#
发表于 2023-2-12 00:10:02 | 只看该作者
本帖最后由 pkone 于 2023-2-12 00:15 编辑

我最近在学习软件绿化,需要一款启动器,它主要就是负责:
1,在软件运行前,需要导入注册表、复制文件、启动服务之类的。
2,启动软件主程序(可能要带参数)
3,在软件结束后,负责清理注册表,清除临时目录数据,关闭服务之类的。

因此我想用pecmd的内置脚本功能,达到以下目的:
当pecmd.exe被改名后(例如改为a.exe),运行它就自动加载同目录中的a.wcs,若a.wcs文件不存在则生成新的a.wcs(内容为HELP)

我的做法是用ResourceHacker编辑了pecmd.exe的101资源,加入如下代码:

FNAM tar=%MyName% //获得程序自身名字
LOAD "%tar%.wcs"  //加载自身名字.wcs

这个是可以正常启动起来的,但是当wcs文件不存在时,我不懂怎么写,才能自动生成新的wcs文件?
麻烦写个例子,我是刚接触pecmd脚本的新手,谢谢



点评

fdir dir=%MyName% fnam tar=%MyName% envi wcs="%dir%\%tar%.wcs" ifex ! %wcs%, writ %wcs%,$+0,help load %wcs%  详情 回复 发表于 2023-2-12 13:22
回复

使用道具 举报

18352#
发表于 2023-2-12 13:22:41 | 只看该作者
pkone 发表于 2023-2-12 00:10
我最近在学习软件绿化,需要一款启动器,它主要就是负责:
1,在软件运行前,需要导入注册表、复制文件、 ...

fdir dir=%MyName%
fnam tar=%MyName%
envi wcs="%dir%\%tar%.wcs"
ifex ! %wcs%, writ %wcs%,$+0,help
load %wcs%


点评

5大,请教个问题 TIPS 正在安装,%名称%,50000,1,@L1920T1020 THREAD* DEVI C:\a\*.inf 这是一个FORX循环,里面记录了驱动路径,每个路径占一行 用THREAD*开了多线程,TIPS提示就会不准确,好像是直接提示最后一  详情 回复 发表于 2023-2-12 19:13
谢谢,代码正常,达到我想要的效果了  详情 回复 发表于 2023-2-12 14:22
回复

使用道具 举报

18353#
发表于 2023-2-12 14:22:07 | 只看该作者
527104427 发表于 2023-2-12 13:22
fdir dir=%MyName%
fnam tar=%MyName%
envi wcs="%dir%\%tar%.wcs"

谢谢,代码正常,达到我想要的效果了
回复

使用道具 举报

18354#
发表于 2023-2-12 19:13:57 | 只看该作者
527104427 发表于 2023-2-12 13:22
fdir dir=%MyName%
fnam tar=%MyName%
envi wcs="%dir%\%tar%.wcs"

5大,请教个问题
TIPS 正在安装,%名称%,50000,1,@L1920T1020
THREAD* DEVI C:\a\*.inf
这是一个FORX循环,里面记录了驱动路径,每个路径占一行
THREAD*开了多线程,TIPS提示就会不准确,好像是直接提示最后一行了
另外我加了个计时器,计算安装总耗时,加了THREAD*后,计时也会提前停止,在点了执行按钮后计时就直接停止了
这个问题有办法解决吗

点评

date time1 uptime forx循环, //替换成具体命令 { ...... //替换成具体命令 THREAD* team TIPS 正在安装,%名称%,50000,1,@L1920T1020| DEVI C:\a\*.inf //多个tips同时出现,估计会被挤掉,剩最  详情 回复 发表于 2023-2-12 20:28
回复

使用道具 举报

18355#
发表于 2023-2-12 20:28:55 | 只看该作者
泮安宁 发表于 2023-2-12 19:13
5大,请教个问题
TIPS 正在安装,%名称%,50000,1,@L1920T1020
THREAD* DEVI C:\a\*.inf


date time1 uptime
forx循环,   //替换成具体命令
{
    ......   //替换成具体命令
    THREAD* team TIPS 正在安装,%名称%,50000,1,@L1920T1020| DEVI C:\a\*.inf   //多个tips同时出现,估计会被挤掉,剩最后一个
}
wait -thread
date time2 uptime
calc time=(%time2% - %time1%) / 1000#2
mess. [总共用时 %time% 秒]




点评

THREAD* team TIPS 正在安装,%名称%,50000,1,@L1920T1020| DEVI C:\a\*.inf 不能安装 team TIPS 正在安装,%名称%,50000,1,@L1920T1020|THREAD* DEVI C:\a\*.inf 可以安装 计时器怎么实时显示耗费的时间,而  详情 回复 发表于 2023-2-12 23:06
好的,谢谢我去试试  详情 回复 发表于 2023-2-12 21:01
回复

使用道具 举报

18356#
发表于 2023-2-12 21:01:05 | 只看该作者
527104427 发表于 2023-2-12 20:28
date time1 uptime
forx循环,   //替换成具体命令
{

好的,谢谢我去试试
回复

使用道具 举报

18357#
发表于 2023-2-12 23:06:56 | 只看该作者
527104427 发表于 2023-2-12 20:28
date time1 uptime
forx循环,   //替换成具体命令
{

THREAD* team TIPS 正在安装,%名称%,50000,1,@L1920T1020| DEVI C:\a\*.inf   不能安装
team TIPS 正在安装,%名称%,50000,1,@L1920T1020|THREAD* DEVI C:\a\*.inf     可以安装
计时器怎么实时显示耗费的时间,而不是只最后显示一个最终耗时
DEVI在我电脑上不知道什么原因测试的,只有devi 路径\*.inf可以成功安装,devi 路径\a.inf和devi $路径\a.inf   devi $路径\*.inf都不能安装

点评

亮出你的代码来,我给你改 改  详情 回复 发表于 2023-2-13 12:10
回复

使用道具 举报

18358#
发表于 2023-2-13 12:10:46 | 只看该作者
泮安宁 发表于 2023-2-12 23:06
THREAD* team TIPS 正在安装,%名称%,50000,1,@L1920T1020| DEVI C:\a\*.inf   不能安装
team TIPS 正在 ...

亮出你的代码来,我给你改  改

点评

文本内容为  详情 回复 发表于 2023-2-13 16:57
回复

使用道具 举报

18359#
发表于 2023-2-13 15:52:37 | 只看该作者
谢谢大佬
回复

使用道具 举报

18360#
发表于 2023-2-13 16:57:16 | 只看该作者
527104427 发表于 2023-2-13 12:10
亮出你的代码来,我给你改  改
  1. READ "文本路径",*r,&path
  2. FORX *NL &path,&content,
  3. {*
  4.         MSTR -delims:| &&path,&&名称=<1><2>%&content%
  5.         TIPS 正在安装,%&&名称%,50000,1,@L1920T1020
  6.         THREAD* DEVI %&&path%\*.inf
  7. }
复制代码
文本内容为
  1. C:\Windows\System32\DriverStore\FileRepository\nvqu.inf_amd64_4845ede71994f519|NVIDIA GeForce MX110
  2. C:\Windows\System32\DriverStore\FileRepository\hdxsst.inf_amd64_328c630dad49be0a|Realtek High Definition Audio(SST)
  3. C:\Windows\System32\DriverStore\FileRepository\intcdaud.inf_amd64_ad5691824a5386fe|英特尔(R) 显示器音频
  4. C:\Windows\System32\DriverStore\FileRepository\iigd_dc_base.inf_amd64_c407eaec1856bc31|Intel(R) UHD Graphics 620
  5. C:\Windows\System32\DriverStore\FileRepository\usbvideo.inf_amd64_01eda1963fc9991c|USB Video Device
  6. C:\Windows\System32\DriverStore\FileRepository\rtsuer.inf_amd64_506fc2372033b447|Realtek USB 2.0 Card Reader
复制代码


点评

这样子呢?  详情 回复 发表于 2023-2-13 17:17
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-24 07:39

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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