无忧启动论坛

标题: 自动设置DPI问题(已成) [打印本页]

作者: gbzx    时间: 2022-9-25 13:26
标题: 自动设置DPI问题(已成)
本帖最后由 gbzx 于 2022-9-25 16:19 编辑

今天下载kuer的外置工具,里面有显卡驱动包。
PE原来我没放显卡驱动包,只有无线网卡驱动包,启动完成后能自动设置DPI。增加了这个显卡驱动包后,启动过程也能自动设置DPI,
但自动设置DPI是在显卡安装完之前,显卡安装完成后,系统又再次设置系统默认的DPI。在PETOOLS.INI 中有

//////////////////压缩包驱动安装EXEC %CurDir%\CustomDrv\Drvindex.exe -b

安装显卡
如何才能确保在系统显卡安装完成之后,再执行自动设置DPI:pecmd.exe  load  %CurDir%\setdpi.ini,而不是在显卡安装完成之前执行它。请指教。



作者: wxinchun92    时间: 2022-9-25 13:45
驱动加=写在DPI前面
  1. EXEC =%CurDir%\CustomDrv\Drvindex.exe -b
复制代码



作者: minchengan    时间: 2022-9-25 14:07
我以前也遇到过类似问题,经高人指点,解决了,我的情况用的下面代码,你照着改(改后面部分即可):
ENVI^ EnviMode=1
EXEC "%&MyName%" TEAM FORX !\PETOOLS\Drivers\DrvIndex.exe,&dev,1,EXEC -wait -wd:* %%&dev%% -b| EXEC !"%%ProgramFiles%%\TrafficMonitor\TrafficMonitor.exe"
作者: justroot    时间: 2022-9-25 14:07
学习了。。谢谢
作者: wxinchun92    时间: 2022-9-25 14:13
minchengan 发表于 2022-9-25 14:07
我以前也遇到过类似问题,经高人指点,解决了,我的情况用的下面代码,你照着改(改后面部分即可):
ENVI ...

-wait和=有区别???
作者: gbzx    时间: 2022-9-25 16:16
minchengan 发表于 2022-9-25 14:07
我以前也遇到过类似问题,经高人指点,解决了,我的情况用的下面代码,你照着改(改后面部分即可):
ENVI ...

谢谢指教,你的太复杂了,我的用如下代码就行了:

//////////////////压缩包驱动安装并自动匹配DPI
TEAM FORX !"\PETOOLS\CustomDrv\Drvindex.exe",&Index,1,EXEC -wait %&Index% -b|load  \PETOOLS\setdpi.ini
作者: minchengan    时间: 2022-9-25 17:38
gbzx 发表于 2022-9-25 16:16
谢谢指教,你的太复杂了,我的用如下代码就行了:

//////////////////压缩包驱动安装并自动匹配DPI

这种是可以,但会让启动速度变慢,pecmd的配置文件中所有命令不是一条一条运行,而是可以并行运行,在多核CPU中尤其有用,我给的代码是驱动安装只会让其后面的那半句等待。
作者: minchengan    时间: 2022-9-25 17:38
wxinchun92 发表于 2022-9-25 14:13
-wait和=有区别???

pecmd的配置文件中所有命令不是一条一条运行,而是可以并行运行,在多核CPU中尤其有用,我给的代码是驱动安装只会让其后面的那半句等待。
作者: wxinchun92    时间: 2022-9-25 18:03
minchengan 发表于 2022-9-25 17:38
这种是可以,但会让启动速度变慢,pecmd的配置文件中所有命令不是一条一条运行,而是可以并行运行,在多 ...

跟你不是一样的吗?TEAM 命令
作者: gbzx    时间: 2022-9-25 18:13
minchengan 发表于 2022-9-25 17:38
pecmd的配置文件中所有命令不是一条一条运行,而是可以并行运行,在多核CPU中尤其有用,我给的代码是驱动 ...

正解,就是因为并行运行,才导致显卡驱动还没安装完,自动设置DPI已执行完毕
作者: minchengan    时间: 2022-9-25 18:47
gbzx 发表于 2022-9-25 18:13
正解,就是因为并行运行,才导致显卡驱动还没安装完,自动设置DPI已执行完毕

我给的代码不会
作者: minchengan    时间: 2022-9-25 18:47
wxinchun92 发表于 2022-9-25 18:03
跟你不是一样的吗?TEAM 命令

你仔细研究研究,我以前发过一个帖子求助的
作者: gbzx    时间: 2022-9-25 18:52
wxinchun92 发表于 2022-9-25 13:45
驱动加=写在DPI前面

加=也可以,都是等待执行的意思
作者: wxinchun92    时间: 2022-9-25 19:54
minchengan 发表于 2022-9-25 18:47
你仔细研究研究,我以前发过一个帖子求助的

你运行了"%&MyName%"你自己的程序,后面TEAM都是一样的啊
作者: gbzx    时间: 2022-9-25 19:58
minchengan 发表于 2022-9-25 18:47
我给的代码不会

在PETOOLS里代码如下:

EXEC "%&MyName%" TEAM FORX !\PETOOLS\CustomDrv\Drvindex.exe,&dev,1,EXEC -wait -wd:* %%&dev%% -b| load "\PETOOLS\setdpi.ini"

在PE启动日志里是这样的

[EXEC "X:\windows\system32\PECMD.EXE" TEAM FORX !\PETOOLS\CustomDrv\Drvindex.exe,&dev,1,EXEC -wait -wd:* %&dev% -b| load "\PETOOLS\setdpi.ini"]        <0>        :操作成功完成。

在PETOOLE.ini里,应该不用EXEC "X:\windows\system32\PECMD.EXE",因为换上在启动阶段,改成
TEAM FORX !\PETOOLS\CustomDrv\Drvindex.exe,&dev,1,EXEC -wait -wd:* %%&dev%% -b| load "\PETOOLS\setdpi.ini"应该是一样的
作者: hua_wuxin    时间: 2022-9-25 20:34
gbzx 发表于 2022-9-25 19:58
在PETOOLS里代码如下:

EXEC "%&MyName%" TEAM FORX !\PETOOLS\CustomDrv\Drvindex.exe,&dev,1,EXEC - ...

帮你简化下方便理解。

你的语句相当于:
mess 1
team wait 3000 | load setdpi.ini | mess 2
mess 3
得到的输出是1、2、3。

坛友建议的相当于:
mess 1
exec pecmd.exe team wait 3000 | load setdpi.ini | mess 2
mess 3
得到的输出是1、3、2。第三行不会干等耗时的第二行执行完。
作者: 9527sss    时间: 2022-9-25 20:50
#在这里快速谢谢分享。回复#
作者: gbzx    时间: 2022-9-25 21:32
本帖最后由 gbzx 于 2022-9-25 21:34 编辑
hua_wuxin 发表于 2022-9-25 20:34
帮你简化下方便理解。

你的语句相当于:

你这么解析还不完整,如果是4线程,1234应该是同时执行的,比如第三行代码执行完毕,124还没执行完毕就会出现1245同时执行,这就是多线程。
网友的意思是,2执行完才能执行3,其它可以同时执行,就23不行。他的代码既可以保证2执行完才执行3,又不会阻挡后面代码并行执行,这个我是理解的。
问题是:EXEC "%&MyName%"这个代码代表的是EXEC PECMD.EXE,按道理这个代码是不需要的,因为还在启动阶段,在启动完成后,还要加载配置文件才需要再次启动PECMD.EXE。
作者: hua_wuxin    时间: 2022-9-25 23:58
本帖最后由 hua_wuxin 于 2022-9-26 00:14 编辑
gbzx 发表于 2022-9-25 21:32
你这么解析还不完整,如果是4线程,1234应该是同时执行的,比如第三行代码执行完毕,124还没执行完毕就会 ...

pecmd配置文件中的命令是一条一条运行的,这点生成带时间的日志(logs --2 --t=1 --rt=1 xxx.log)看看就能理解了。

exec pecmd.exe "一些耗时但不必等待完成的语句",会另起一个pecmd新进程执行指定的耗时但不必等语句,而原有pecmd进程则不等这个exec的东西结束就继续执行配置文件后面的剩余语句,这才得到了“并行”的效果。

所以EXEC "%&MyName%"还是建议加上,可以节省时间。
作者: gbzx    时间: 2022-9-26 07:47
本帖最后由 gbzx 于 2022-9-26 07:48 编辑
hua_wuxin 发表于 2022-9-25 23:58
pecmd配置文件中的命令是一条一条运行的,这点生成带时间的日志(logs --2 --t=1 --rt=1 xxx.log)看看就 ...

如果是如你所说,那EXEC "%&MyName%"就不能去除,否则启动变慢。
作者: 阿卡特201314    时间: 2022-9-26 08:05
感谢楼主分享
作者: gbzx    时间: 2022-9-26 08:52
hua_wuxin 发表于 2022-9-25 23:58
pecmd配置文件中的命令是一条一条运行的,这点生成带时间的日志(logs --2 --t=1 --rt=1 xxx.log)看看就 ...

pecmd配置文件中的命令是一条一条运行的,那为何会出现在后面的代码比前面的先执行完?
作者: ldg_2    时间: 2022-9-26 09:25
感谢分享,学习了
作者: asas246    时间: 2022-9-26 09:51
谢谢分享
作者: asas246    时间: 2022-9-26 19:50
谢谢分享
作者: lemontea888    时间: 2022-9-30 19:04


谢谢分享!!!!!!!!

作者: xiaoyuan0417    时间: 2022-11-12 21:06
gbzx 发表于 2022-9-25 16:16
谢谢指教,你的太复杂了,我的用如下代码就行了:

//////////////////压缩包驱动安装并自动匹配DPI

求教 setdpi.ini 中是啥内容?
作者: jiangweiyuzhang    时间: 2022-11-13 16:25
学习了,谢谢!
作者: nowayer    时间: 2023-11-28 12:06
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3