无忧启动论坛

标题: 【原创】为你的PE系统添加计算机型号和CPU识别功能 [打印本页]

作者: NicTense    时间: 2010-3-9 13:32
标题: 【原创】为你的PE系统添加计算机型号和CPU识别功能
据我所知,大部分PE的系统属性都是显示不了计算机型号和cpu信息的
有什么简单快捷的方法能实现这个功能吗?
答案是有的,这里提供几个方案,请自行选择。

方案一:此方案为slore原创,由于帖子被合并了,所以在这里一并列出

此方案仅能显示cpu信息,优点是利用系统本身的功能,不占用oeminfo的字段
方法是直接修改sysdm.cpl的指定字节


xp的sysdm.cpl 搜索
CC 8B FF 55 8B EC 81 EC 24 04 00 00 83 7D 18 00
然后将最后一个00改为02即可。

2003的sysdm.cpl 搜索
8B 75 1C 89 85 E8 FB FF FF 8B 45 0C 33 DB 39 5D 18 57
改为
8B 75 1C 89 85 E8 FB FF FF 8B 45 0C EB 03 39 5D 18 57



方案二:纯注册表方案,不需要额外的软件支持,缺点同方案一,只能显示cpu信息
   根据slore提供的注册表信息,对其进行后期处理后利用OEMINFO.INI显示出来,此方案无需改动sysdm.cpl,且显示效果较为美观
   首先创建一个cpu.cmd文件,放于system32目录下,源代码如下: cpu1.rar (659 Bytes, 下载次数: 223)

@echo off
::用于获取CPU信息,并显示在系统属性页面
::NicTense 写于 2010.03.12
setlocal enableextensions
setlocal enabledelayedexpansion
for /f "tokens=1,2,*" %%i in ('reg query HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0 /v ProcessorNameString') do (
set t=%%j
set t=%%k
)
set t=%t:(TM)=%
set t=%t:(R)=%
set t=%t:)=%
set t=%t:(=#%
set c=
for %%k in (%t%) do if "!c!"=="" (set c=%%k) else set c=!c! %%k
if not "%c:~52%"=="" set c=%c:~0,52%
set t=%c%
set n=0
:loop
set /a n+=1
if /i %n% GEQ 20 goto next
if "%t:~-1%"=="#" goto next
set t=%t:~0,-1%
goto loop
:next
if "%t:~-1%"=="#" set c=%t:~0,-1%
if not exist OEMINFO.INI (
echo [General]>OEMINFO.INI
echo Manufacturer=%c%>>OEMINFO.INI
goto end
)
if exist temp.txt del temp.txt >nul
for /f "delims== tokens=1,*" %%i in (OEMINFO.INI) do if /i "%%i"=="Manufacturer" (
echo Manufacturer=!c!>>temp.txt
) else (
set t=%%i
set t=!t: =!
if "!t:~0,1!"=="[" ( echo %%i>>temp.txt ) else echo %%i=%%j>>temp.txt
)
move /y temp.txt OEMINFO.INI >nul
:end


接下来最后的一步就是在pecmd.ini中添加一句,让系统在启动时执行(加在启动项里也一样)

EXEC !%SystemRoot%\system32\cpu.cmd



方案三:CPUZ增强方案,此方案需要cpuz这个cpu检测软件,优点是可以显示计算机型号等信息

由于大部分PE中都集成了CPUZ这个CPU系统检测软件,利用它可以很简单地实现这一功能,
只要创建一个CMD文件,命名为cpu.cmd,放入system32目录下,代码如下: cpu.rar (679 Bytes, 下载次数: 237)

@echo off
::用于获取计算机型号和CPU信息,并显示在系统属性页面
::NicTense 写于 2010.03.10
setlocal enabledelayedexpansion
set c=
%SystemDrive%\tools\cpuz\cpuz.exe -txt=temp
for /f "tokens=1,*" %%i in (temp.txt) do (
if "%%i"=="Specification" set t=%%j
if "%%i"=="product" set m=%%j
)
set t=%t:(TM)=%
set t=%t:(R)=%
set t=%t:)=%
set t=%t:(=#%
set c=
for %%k in (%t%) do if "!c!"=="" (set c=%%k) else set c=!c! %%k
if not "%c:~52%"=="" set c=%c:~0,52%
set t=%c%
set n=0
:loop
set /a n+=1
if /i %n% GEQ 20 goto next
if "%t:~-1%"=="#" goto next
set t=%t:~0,-1%
goto loop
:next
if "%t:~-1%"=="#" set c=%t:~0,-1%
if exist temp.txt del temp.txt >nul
if not exist OEMINFO.INI (
echo [General]>OEMINFO.INI
echo Manufacturer=%c%>>OEMINFO.INI
echo Model=%m%>>OEMINFO.INI
goto end
)
for /f "delims== tokens=1,*" %%i in (OEMINFO.INI) do if /i "%%i"=="Manufacturer" (
echo Manufacturer=!c!>>temp.txt
) else (
if "%%i"=="Model" (
echo Model=!m!>>temp.txt
) else (
set t=%%i
set t=!t: =!
if "!t:~0,1!"=="[" ( echo %%i>>temp.txt ) else echo %%i=%%j>>temp.txt
)
)
move /y temp.txt OEMINFO.INI >nul
:end


注意红色部分要换成实际的路径,这里利用了OEMINFO.INI这个文件
所以system32中如果有这个文件,必须符合规范,即必须存在这几行

[General]
Manufacturer=
Model=


接下来最后的一步就是在pecmd.ini中添加一句,让系统在启动时执行(最好是跟在shel后面,这样不会感觉到延迟,或者放于启动项)

EXEC !%SystemRoot%\system32\cpu.cmd


(注:如果你的cpuz.exe是在外置包中,则上面这行必须加到加载外置包的ini文件中,若外置包为wim格式,必须
         在moun语句之后,即确保cpuz.exe可以访问之后,并请对应修改cpu.cmd中的路经,若pe中没有pecmd也
         没关系,只要让pe在启动时执行这个批处理即可)

好了,大功告成,打开系统属性看看吧,测试成功了不妨抓个图贴上来,看看显示的什么

下载  记得先打开修改cpuz.exe的实际路经,参见上方红色字体部分



如果将代码中用蓝色粗体表示的c和m对调,可交换cpu和计算机型号的显示位置,见下图



下载这个版本: cpu1.rar (679 Bytes, 下载次数: 204) 记得打开修改cpuz.exe的实际路经,参见上方红色字体部分

原文出处:http://hi.baidu.com/nictense/blog/item/c6ce6d1ef922c3fee0fe0b5d.html


ps: 如果sysdm.cpl未经处理,由于每行显示数字有限,方案三的第二个版本中cpu信息可能会显示不完全,解决方法:

修改sysdm.cpl的101对话框的以下2行,别忘了重新编译(工具可用reshacker)

   CONTROL "", 63, "Link Window", 0x50000000, 141, 149, 110, 18
   CONTROL "", 64, "Link Window", 0x50000000, 141, 170, 110, 9

 将其中的110改大一点就可以了,改为160以上应该就可以了,但是要注意位置是否允许
 未修改的sysdm.cpl该位置左侧有一大图片,所以你只能调整布局,或者将图片位置改小
 要不就采用方法1

   附上一个改好的sp3的sysdm.cpl sysdm.rar (81.08 KB)


方案四:方案一和方案三的结合体,利用方案一解放出oeminfo.ini的一个字段,多出来的这个字段可以用显示显卡信息或自定义信息

由于这个方案操作起来比较麻烦,具体方法不写了,有兴趣的可参考方案一和方案三自行编写,或参考TangoPE0311Patch中的sysdm.cpl和cpuz.cmd

显示效果如下:



本人近期发布帖子汇总,方便查询

【下载】Tango WinPE 2010 虎年珍藏版,32M新版XP3内核PE

【原创】为你的PE系统添加计算机型号和CPU识别功能

【原创】TXTSETUP.SIF减肥和检查错误批处理TSLite

【原创】玩转PE墙纸(开机随机显示墙纸+一键切换循环显示)

【下载】通用型PE一键美化工具PEBeautify+TangoPE美化包(PE美化,只需10秒)

【分享】利用PECMD和MSPAINT实现零体积一键截图功能

【原创】shell32.dll的终极精简&美化教程 (这个是很久前的了)

[ 本帖最后由 NicTense 于 2010-3-23 18:57 编辑 ]
作者: wanghh    时间: 2010-3-9 13:42
☆۩۞۩☆【谢谢提供!】 ☆۩۞۩☆
作者: 跨海征东    时间: 2010-3-9 13:51
向老大学习,谢谢了。
作者: freesoft00    时间: 2010-3-9 14:07
方法倒是挺好,不过,如果cpuz无法识别的话,启动的时候加载到这里是否会有问题?

其实pe中识别不识别这个无所谓,但方法很好。
作者: NicTense    时间: 2010-3-9 14:10
原帖由 freesoft00 于 2010-3-9 14:07 发表
方法倒是挺好,不过,如果cpuz无法识别的话,启动的时候加载到这里是否会有问题?

其实pe中识别不识别这个无所谓,但方法很好。



偶弄PE只为了一个字—帅!

无法识别没任何影响,大不了显示一个奇怪的cpu信息,比如unkown cpu之类的

貌似我没见过cpuz认不出的cpu,除非你的版本太老了
作者: helloman    时间: 2010-3-9 14:23
学习了,谢谢楼主指点技巧!
作者: caomaoLBL    时间: 2010-3-9 14:55
我发现 天使兄 真的很聪明!呵呵,好东西!
作者: 北斗    时间: 2010-3-9 15:15
很不错,间接的利用了CPU-Z实现显示CPU型号的功能,支持一个

以前都是看开机POST或者进PE用everest看个仔细
作者: 66369    时间: 2010-3-9 15:50
好玩的..........上个图来助兴...


作者: NicTense    时间: 2010-3-9 16:05
原帖由 66369 于 2010-3-9 15:50 发表
好玩的..........上个图来助兴...

83937


你的sysdm.cpl 显示这2行信息的地方设置得短了点,看样子应该是100左右,信息没显示完

最好设长一点,200-220就差不多了
作者: zhangyuok    时间: 2010-3-9 16:11
要是cpuz能自动判断加载双核和单核的notskrnl.exe就好了
作者: NicTense    时间: 2010-3-9 16:14
原帖由 zhangyuok 于 2010-3-9 16:11 发表
要是cpuz能自动判断加载双核和单核的notskrnl.exe就好了


cpuz判断单双核很简单,但是cpuz的运行在加载notskrnl.exe之后,这是个矛盾

其实我不知道pe判断单双核有什么意义,除非是用来看电影玩游戏什么的,如果就维护而已,只要能启动到基本功能状态就够了
作者: azhong123456    时间: 2010-3-9 16:31
原帖由 NicTense 于 2010-3-9 16:14 发表


cpuz判断单双核很简单,但是cpuz的运行在加载notskrnl.exe之后,这是个矛盾

其实我不知道pe判断单双核有什么意义,除非是用来看电影玩游戏什么的,如果就维护而已,只要能启动到基本功能状态就够了

能否上传一个改好的SYSDM.CPL的文件给我
作者: viptks    时间: 2010-3-9 16:34
方法不错,但是在维护的PE中确实用处不大......
作者: 66369    时间: 2010-3-9 16:35
原帖由 NicTense 于 2010-3-9 16:05 发表


你的sysdm.cpl 显示这2行信息的地方设置得短了点,看样子应该是100左右,信息没显示完

最好设长一点,200-220就差不多了


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

180也够的.



作者: NicTense    时间: 2010-3-9 16:42
原帖由 azhong123456 于 2010-3-9 16:31 发表

能否上传一个改好的SYSDM.CPL的文件给我


sysdm.rar (81.08 KB, 下载次数: 264)

如果版本不同,可能用不了的
作者: azhong123456    时间: 2010-3-9 16:49
谢谢,可以了,我想问下如果那个CPUZ.EXE文件外置要怎 么设

12.png (208.49 KB, 下载次数: 92)

12.png

作者: woshi_1001    时间: 2010-3-9 16:50
这样方便啊,向楼主学习。
作者: NicTense    时间: 2010-3-9 16:50
原帖由 azhong123456 于 2010-3-9 16:49 发表
谢谢,可以了,我想问下如果那个CPUZ.EXE文件外置要怎 么设


一样的,改一下批处理中cpuz的路径,就是红色部分

另外pecmd.ini中的那行改在外置挂载后以后执行,即改在 挂载外置程序的ini里执行,且必须完成挂载后
作者: zery    时间: 2010-3-9 16:52
不错,找个时间我也加上去
作者: azhong123456    时间: 2010-3-9 16:58
标题: 回复 #19 NicTense 的帖子
多谢指点,终可以在外置上使用
作者: yigeren    时间: 2010-3-9 17:58
很少用CPU-Z......
作者: 12050202    时间: 2010-3-9 18:20
原帖由 66369 于 2010-3-9 16:35 发表


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

180也够的.


83942



T3H
给个看看
作者: tzxinqing    时间: 2010-3-9 19:11
我发现 天使兄 真的很聪明!呵呵,好东西!
作者: jason19840210    时间: 2010-3-9 19:15
看似不錯 呵呵
用處不大
作者: 66369    时间: 2010-3-9 20:47
SYSDM.CPL

目前版内能正常显示CPU完全信息的.基本没有.要修改下.
作者: caomaoLBL    时间: 2010-3-9 20:55
24#  你TMD 直接复制我的回复, 太明目张胆了!
作者: azhong123456    时间: 2010-3-9 20:56
标题: 回复 #26 66369 的帖子
水的多功能怎 么加进去,特别是外置我一直加不上,全内置我的就加了。
作者: 66369    时间: 2010-3-9 21:52
原帖由 azhong123456 于 2010-3-9 20:56 发表
水的多功能怎 么加进去,特别是外置我一直加不上,全内置我的就加了。





明年更新.肯定加上.方便查看.
作者: 964220    时间: 2010-3-9 22:04
楼主上次进行了这方面调查,原来目的在这里,开创PE识别计算机型号和CPU的先河。明白了调查目的。把编程运用得随心所欲,真是聪明极了。
这些源代码怎样看呢?有没有教材?我现在看不懂。

[ 本帖最后由 964220 于 2010-3-9 22:13 编辑 ]
作者: NicTense    时间: 2010-3-9 22:24
原帖由 964220 于 2010-3-9 22:04 发表
楼主上次进行了这方面调查,原来目的在这里,开创PE识别计算机型号和CPU的先河。明白了调查目的。把编程运用得随心所欲,真是聪明极了。
这些源代码怎样看呢?有没有教材?我现在看不懂。


呵呵,因为我用过的pe没几个,不知道是只有我的pe不显示,还是都不显示,所以就调查调查,我比较喜欢干别人没干过的事情

教材,你指cmd批处理吗,如果是的话,看这个

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=128552&extra=page%3D1
作者: 964220    时间: 2010-3-10 07:38
原帖由 NicTense 于 2010-3-9 22:24 发表


呵呵,因为我用过的pe没几个,不知道是只有我的pe不显示,还是都不显示,所以就调查调查,我比较喜欢干别人没干过的事情

教材,你指cmd批处理吗,如果是的话,看这个

http://bbs.wuyou.net/viewthread ...

就是这些批处理。仔细研究。谢谢提供资料。
作者: wenjx5228    时间: 2010-3-10 08:59
潜力股,高手!
看不懂,
替换倒可以试试!
作者: wenjx5228    时间: 2010-3-10 09:00
原帖由 NicTense 于 2010-3-9 22:24 发表


呵呵,因为我用过的pe没几个,
不知道是只有我的pe不显示,
还是都不显示,
所以就调查调查,
我比较喜欢干别人没干过的事情
http://bbs.wuyou.net/viewthread ...

我就猜到你有这一手!
有创意!
作者: NicTense    时间: 2010-3-10 15:43
发现一个笔误,影响不大,只会导致oeminfo.ini多了2个没用的=号,已修正,见蓝色部分

另外提供2个版本下载

第2个版本为先显示cpu信息,后显示计算机型号

这样的好处是,如果用原始的sysdm.cpl,第一项可以显示2行,而一行是显示不完cpu信息的
这种方案不用修改sysdm.cpl也能显示完cpu信息,只是可能会显示为2行
作者: zerogazer    时间: 2010-3-10 16:53
这个会影响启动到桌面的速度吗?
作者: 老鼠无敌    时间: 2010-3-10 19:37
好东西啊,谢谢共享。共享万岁。。。。
作者: 12050202    时间: 2010-3-10 20:44
原帖由 zerogazer 于 2010-3-10 16:53 发表
这个会影响启动到桌面的速度吗?



经实验
有两三秒的延时
作者: lisong    时间: 2010-3-10 21:29
谢谢楼主分享!!!!!!1
作者: wenjx5228    时间: 2010-3-10 21:56
天使,
你这宝贝,
虚拟机环境测试能实现正常显示么?
还是必须到实机测试?
谢谢!

[ 本帖最后由 wenjx5228 于 2010-3-10 22:02 编辑 ]
作者: NicTense    时间: 2010-3-10 22:16
原帖由 wenjx5228 于 2010-3-10 21:56 发表
天使,
你这宝贝,
虚拟机环境测试能实现正常显示么?
还是必须到实机测试?
谢谢!


虚拟机没问题啊,1楼贴的图就是vpc2007下测的
作者: NicTense    时间: 2010-3-10 22:19
原帖由 zerogazer 于 2010-3-10 16:53 发表
这个会影响启动到桌面的速度吗?


这个是有技巧的,如果你在shel前加载,会延迟2、3秒钟

所以最好是跟在shel后面,这样基本是完全感觉不到有任何延迟
作者: wenjx5228    时间: 2010-3-10 22:33
原帖由 NicTense 于 2010-3-10 22:16 发表
虚拟机没问题啊,
1楼贴的图就是vpc2007下测的

N_RAM版虚拟机测试
将CPU.CMD直接放到SYSTEM32下,
仍无法显示CPU信息。
哪错了?

[ 本帖最后由 wenjx5228 于 2010-3-10 22:34 编辑 ]
作者: NicTense    时间: 2010-3-10 22:36
原帖由 wenjx5228 于 2010-3-10 22:33 发表

N_RAM版虚拟机测试
将CPU.CMD直接放到SYSTEM32下,
仍无法显示CPU信息。
哪错了?


接下来最后的一步就是在pecmd.ini中添加一句,让系统在启动时执行


QUOTE:
EXEC !%SystemRoot%\system32\cpu.cmd


这个做了没
作者: wenjx5228    时间: 2010-3-10 22:37
不会是,
虚拟机是裸机的缘故吧?
作者: wenjx5228    时间: 2010-3-10 22:39
原帖由 NicTense 于 2010-3-10 22:36 发表


接下来最后的一步就是在pecmd.ini中添加一句,让系统在启动时执行


QUOTE:
EXEC !%SystemRoot%\system32\cpu.cmd


这个做了没


哦,
欠了这步啊!
没有,
补上看看!
这句的位置有讲究么?
放:SEND.DLL"后面,
可以忽略延迟是吧?
谢谢天使!

[ 本帖最后由 wenjx5228 于 2010-3-10 22:47 编辑 ]
作者: NicTense    时间: 2010-3-10 22:45
原帖由 wenjx5228 于 2010-3-10 22:39 发表


哦,
欠了这步啊!
没有,
补上看看!
这句的位置有讲究么?
放:
EXEC !=CMD.EXE /C "REGSVR32 /S X:\WXPE\SYSTEM32\SEND.DLL"
后面,
可以忽略延迟是吧?
谢谢天使!


放在

SHEL %W%\EXPLORER.EXE

后面
作者: wenjx5228    时间: 2010-3-10 22:52
原帖由 NicTense 于 2010-3-10 22:45 发表


放在

SHEL %W%\EXPLORER.EXE

后面

这样对么?
FIND Explorer.EXE,!TEAM SHEL %WinDir%\EXPLORER.EXE|LOGO|TEXT
EXEC !%SystemRoot%\system32\cpu.cmd
作者: NicTense    时间: 2010-3-10 22:56
原帖由 wenjx5228 于 2010-3-10 22:52 发表

这样对么?
FIND Explorer.EXE,!TEAM SHEL %WinDir%\EXPLORER.EXE|LOGO|TEXT
EXEC !%SystemRoot%\system32\cpu.cmd


没错,应该没问题了,弄好贴个图上来看看
作者: wenjx5228    时间: 2010-3-10 23:06
原帖由 NicTense 于 2010-3-10 22:56 发表
没错,
应该没问题了,
弄好贴个图上来看看

在下不是伸手党!
谢谢!
作者: wenjx5228    时间: 2010-3-10 23:08
另请教:
何种情形要修改sysdm.cpl,
打开方式是什么工具?
拜谢!
作者: azhong123456    时间: 2010-3-10 23:12
1.ExeScope   下载地址:http://www.onlinedown.net/soft/9594.htm
2.Replacer     下载地址:http://www3.telus.net/_/replacer/Replacer.zip
3.Regedit  这三个都可以
作者: NicTense    时间: 2010-3-10 23:16
原帖由 wenjx5228 于 2010-3-10 23:08 发表
另请教:
何种情形要修改sysdm.cpl,
打开方式是什么工具?
拜谢!


我都是用reshacker,楼上的那些也可以的,看个人习惯

reshacker主要是方便批处理
作者: wenjx5228    时间: 2010-3-10 23:24
原帖由 azhong123456 于 2010-3-10 23:12 发表
1.ExeScope   下载地址:http://www.onlinedown.net/soft/9594.htm
2.Replacer     下载地址:http://www3.telus.net/_/replacer/Replacer.zip
3.Regedit  这三个都可以

谢谢支持提供!!!!
作者: lxl1638    时间: 2010-3-10 23:26
原帖由 NicTense 于 2010-3-9 16:14 发表


cpuz判断单双核很简单,但是cpuz的运行在加载notskrnl.exe之后,这是个矛盾

其实我不知道pe判断单双核有什么意义,除非是用来看电影玩游戏什么的,如果就维护而已,只要能启动到基本功能状态就够了


注册表中有更详细的信息,不知位置是否固定:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\GenuineIntel_-_x86_Family_1
作者: wenjx5228    时间: 2010-3-10 23:26
原帖由 NicTense 于 2010-3-10 23:16 发表


我都是用reshacker,楼上的那些也可以的,看个人习惯

reshacker主要是方便批处理

那跟你选一样的,
出错也便于对比!
测试去,
稍后反馈!
多谢!
作者: wenjx5228    时间: 2010-3-10 23:34
呃,
仍无法显示,
咋的哪儿不正确?
全按提示DIY的,
其他没动过!
自己菜到家了,
汗!

[ 本帖最后由 wenjx5228 于 2010-3-10 23:56 编辑 ]

无法显示.JPG (93.23 KB, 下载次数: 81)

无法显示.JPG

作者: NicTense    时间: 2010-3-11 00:09
原帖由 wenjx5228 于 2010-3-10 23:34 发表
呃,
仍无法显示,
咋的哪儿不正确?
全按提示DIY的,
其他没动过!
自己菜到家了,
汗!


你的cpuz.exe放在哪里的,cpu.cmd里对应的路经要改一下,具体位置看1楼红色字体部分
作者: NicTense    时间: 2010-3-11 00:21
原帖由 lxl1638 于 2010-3-10 23:26 发表


注册表中有更详细的信息,不知位置是否固定:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\GenuineIntel_-_x86_Family_1


老大说的是单双核的信息,还是cpu的具体型号

我进入pe后,这个位置没有GenuineIntel_-_x86_Family_1  这项啊,acpi下是空的
作者: wenjx5228    时间: 2010-3-11 00:33
原帖由 NicTense 于 2010-3-11 00:09 发表
你的cpuz.exe放在哪里的,
cpu.cmd里对应的路经要改一下,
具体位置看1楼红色字体部分


具体位置,
要水先生才清楚!
用的是他的系列PE!
外置的是一个OP.WIM压缩包内!
内置暂时没搜索到CPUZ.EXE

[ 本帖最后由 wenjx5228 于 2010-3-11 00:47 编辑 ]
作者: NicTense    时间: 2010-3-11 00:40
原帖由 wenjx5228 于 2010-3-11 00:33 发表


具体位置,
要水先生才清楚!
用的是他的系列PE!
外置的好像是一个OP.WIM压缩包内!
内置暂时没搜索到CPUZ.EXE


如果cpuz在外置包里,那行不能加到pecmd.ini了
要加到加载外置包的ini文件里了,放到moun语句后
路经改为moun后能访问到cpuz的实际路经

这种情况下由于cpuz不在内核中,而在外置包中,所以必须加载了外置包才能起作用
作者: wenjx5228    时间: 2010-3-11 00:58
原帖由 NicTense 于 2010-3-11 00:40 发表


如果cpuz在外置包里,
那行不能加到pecmd.ini了
要加到加载外置包的ini文件里了,
放到moun语句后
路经改为moun后能访问到cpuz的实际路经
这种情况下由于cpuz不在内核中,
而在外置包中,
所以必须加载了外 ...


G:\13.16 多功能版\外置程序\系统检测\CPUZ
原来如此,
套用一句,
高手的东西,
菜鸟碰不得!
难怪搞不定!
谢谢!

[ 本帖最后由 wenjx5228 于 2010-3-11 01:01 编辑 ]
作者: wenjx5228    时间: 2010-3-11 01:10
照道理,
应该可以将OP.WIM中的cpuz提取,
放到SYSTEM32根目录下,
然后再依天使指示,
应该没问题呃!
但天使曾提出水先生的SYSDM.CPL设置问题,
个人推测难道水先生的PE,
还要设置SYSDM.CPL么?

[ 本帖最后由 wenjx5228 于 2010-3-11 01:22 编辑 ]
作者: NicTense    时间: 2010-3-11 01:33
原帖由 wenjx5228 于 2010-3-11 01:10 发表
照道理,
应该可以将OP.WIM中的cpuz提取,
放到SYSTEM32根目录下,
然后再依天使指示,
应该没问题呃!
但天使曾提出水先生的SYSDM.CPL设置问题,
个人推测难道水先生的PE,
还要设置SYSDM.CPL么?


可以的,放到system32的话
cpu.cmd中的路经全去掉,直接用cpuz.exe就可以了

sysdm.cpl问题不大,就算没处理过,最多就是显示不完

因为默认设置一行大概只能显示26个字母,而cpu信息有时候长达40多个字母
作者: 尽善尽美    时间: 2010-3-11 08:51
很感谢呀!!按照方法已实现!!看图!!


作者: NicTense    时间: 2010-3-11 11:10
原帖由 尽善尽美 于 2010-3-11 08:51 发表
很感谢呀!!按照方法已实现!!看图!!

84130


呵呵,这个版本的sysdm.cpl被我改的有点特殊,第一项跑最上面去了,本来是为了方便更新版本号


今天(最迟明天)我会发布更新补丁,到时候更新一下
作者: 带bb去看海    时间: 2010-3-11 15:16
原帖由 NicTense 于 2010-3-11 11:10 发表


呵呵,这个版本的sysdm.cpl被我改的有点特殊,第一项跑最上面去了,本来是为了方便更新版本号


今天(最迟明天)我会发布更新补丁,到时候更新一下



好东西。等下载!
作者: wenjx5228    时间: 2010-3-11 18:37
原帖由 尽善尽美 于 2010-3-11 08:51 发表
很感谢呀!!按照方法已实现!!看图!!

84130

天使,
他这是用你的PE测试的么
你修改的那个sysdm.cpl是否属通用版本?
谢谢!
作者: wenjx5228    时间: 2010-3-11 19:22
天使,
现在CPUZ.EXE被放置到
内核的WXPE\SYSTEM32根目录下,
则cpu.cmd中的路经如何全去掉?
这样:
setlocal enabledelayedexpansion
set c=
%SystemDrive%\tools\cpuz\cpuz.exe -txt=temp
for /f "tokens=1,*" %%i in (temp.txt) do (
if "%%i"=="Specification" set t=%%j
if "%%i"=="product" set m=%%j
)
修改为:
setlocal enabledelayedexpansion
set c=
-txt=temp
for /f "tokens=1,*" %%i in (temp.txt) do (
if "%%i"=="Specification" set t=%%j
if "%%i"=="product" set m=%%j
)

有问题吗?
PECMD.INI要再修改么?

谢谢!

[ 本帖最后由 wenjx5228 于 2010-3-11 20:10 编辑 ]

OEMINFO.JPG (115.94 KB, 下载次数: 65)

OEMINFO.JPG

作者: lmle    时间: 2010-3-11 19:32
应该只去掉“%SystemDrive%\tools\cpuz\”。
作者: NicTense    时间: 2010-3-11 20:01
标题: 回复 #69 wenjx5228 的帖子
pecmd还是之前那句

红色部分只保留cpuz.exe
cpuz.exe -txt=temp
作者: wenjx5228    时间: 2010-3-11 20:15
原帖由 NicTense 于 2010-3-11 20:01 发表
pecmd还是之前那句

红色部分只保留cpuz.exe
cpuz.exe -txt=temp

谢谢解析!
再试,
不甘心!
天使这法宝在菜鸟手里就不发光!
不信邪!
咬定青山不放松!

[ 本帖最后由 wenjx5228 于 2010-3-11 20:20 编辑 ]
作者: wenjx5228    时间: 2010-3-11 20:16
原帖由 lmle 于 2010-3-11 19:32 发表
应该只去掉“%SystemDrive%\tools\cpuz\”。

谢谢,
再试!
作者: 66369    时间: 2010-3-11 20:25
原帖由 wenjx5228 于 2010-3-11 20:16 发表

谢谢,
再试!



CPUZ.EXE 在X盘的话.你就试.

在Y盘.就不要忙了....
作者: wenjx5228    时间: 2010-3-11 20:25
谢谢天使!
在你的亲自指导下,
暂时搞定内置版!
只是因没修改SYSDM.CPL,
显示示不完全!

[ 本帖最后由 wenjx5228 于 2010-3-11 20:30 编辑 ]

001.JPG (79.13 KB, 下载次数: 64)

001.JPG

作者: wenjx5228    时间: 2010-3-11 20:28
原帖由 66369 于 2010-3-11 20:25 发表
CPUZ.EXE 在X盘的话.你就试.
在Y盘.就不要忙了....

水先生来指导了,
看看多功能版,
是否如您所言,
记住了!
作者: slore    时间: 2010-3-11 20:39
呵呵,记得注册表XP在这里

[HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0]
"ProcessorNameString"=" Intel(R) Pentium(R) 4 CPU 2.20GHz"

据我所知,大部分PE的系统属性都是显示不了计算机型号和cpu信息的,因为缺乏相关驱动
而添加这些驱动用处不大,麻烦却不小


那能否加点简单的驱动让他能识别,但是具体是啥我们用cpuz得到然后写到这个位置呢?
作者: wenjx5228    时间: 2010-3-11 22:28
经查找看到水先生外置多功能版
启动后有
PETOOLS.CMD
PETOOLS.INI
不启动则没有发现内核有以上文件!
作者: wenjx5228    时间: 2010-3-11 23:53
经修改SYSDM.CPL,
调到了220了,
测试好像没有CPU大小显示:

[ 本帖最后由 wenjx5228 于 2010-3-11 23:55 编辑 ]

001.JPG (84.39 KB, 下载次数: 71)

001.JPG

作者: NicTense    时间: 2010-3-12 00:02
原帖由 wenjx5228 于 2010-3-11 23:53 发表
经修改SYSDM.CPL,
调到了220了,
测试好像没有CPU大小显示:


你说的是cpu频率吗,那是因为你这个cpu,amd刻意不显示频率,而用3400+来掩盖实际频率,那是一个青黄不接的年代
作者: wenjx5228    时间: 2010-3-12 00:14
原帖由 NicTense 于 2010-3-12 00:02 发表
你说的是cpu频率吗,
那是因为你这个cpu,
amd刻意不显示频率,
而用3400+来掩盖实际频率,
那是一个青黄不接的年代


原来如此!
也就是再调大也无用了是吧?
但我XP系统能显示啊?

现在想解决水先生多功能版外置,
仍用此方法行么?
谢谢!

[ 本帖最后由 wenjx5228 于 2010-3-12 00:16 编辑 ]

001.JPG (45.56 KB, 下载次数: 97)

001.JPG

作者: NicTense    时间: 2010-3-12 00:17
原帖由 wenjx5228 于 2010-3-12 00:14 发表


原来如此!
也就是再调大也无用了是吧?
但我XP系统能显示啊?

现在想解决水先生多功能版外置,
仍用此方法行么?
谢谢!


方法是没错的,220足够显示52个字符以上了,绝对足够了

我手头上没有amd的cpu,等有空我再研究一下,有可能抓取别的字段可以显示这个频率

[ 本帖最后由 NicTense 于 2010-3-12 00:20 编辑 ]
作者: wenjx5228    时间: 2010-3-12 00:20
无法显示CPU频率,
是可能这个CPUZ.EXE不识别老的AMD,
是吧?
作者: wenjx5228    时间: 2010-3-12 00:22
原帖由 NicTense 于 2010-3-12 00:17 发表


方法是没错的,220足够显示52个字符以上了,绝对足够了

我手头上没有amd的cpu,
等有空我再研究一下,
有可能抓取别的字段可以显示这个频率


佩服你!
好好休息!
在您的指导下,
全无半点基础的菜鸟,
能这样已经很知足了!

[ 本帖最后由 wenjx5228 于 2010-3-12 00:23 编辑 ]

001.JPG (138.09 KB, 下载次数: 75)

001.JPG

作者: NicTense    时间: 2010-3-12 00:24
原帖由 wenjx5228 于 2010-3-12 00:20 发表
无法显示CPU频率,
是可能这个CPUZ.EXE不识别老的AMD,
是吧?


你在cpuz.exe的目录建一个批处理 test.cmd,内容如下

cpuz.exe -txt=amdcpu

就一行,保存,执行它,等几秒钟,会生成一个 amdcpu.txt

把这个文件打包上传上来我看一下
作者: wenjx5228    时间: 2010-3-12 08:54
原帖由 NicTense 于 2010-3-12 00:24 发表

在cpuz.exe的目录建一个批处理 test.cmd,
内容如下
cpuz.exe -txt=amdcpu
就一行,
保存,
执行它,
等几秒钟,
会生成一个 amdcpu.txt
把这个文件打包上传上来我看一下


对不起,
现在才起来回复!
依天使指导,
打包如下:

amdcpu.rar

7.6 KB, 下载次数: 61, 下载积分: 无忧币 -2


作者: ztyyrzzj    时间: 2010-3-12 10:00
方法很巧妙,心思很缜密。妙哉!
作者: NicTense    时间: 2010-3-12 10:55
原帖由 wenjx5228 于 2010-3-12 08:54 发表


对不起,
现在才起来回复!
依天使指导,
打包如下:


用这个替换你的cpu.cmd试试问题解决了没有
如果没问题我就将1楼更新为这个

增加一个判断,当cpu信息里面不包含频率时,从另外的字段获取频率值并加到cpu信息上去

cpu.rar (718 Bytes, 下载次数: 34)

如果cpuz.exe在system32里面,路径不用改
作者: wenjx5228    时间: 2010-3-12 13:22
原帖由 NicTense 于 2010-3-12 10:55 发表


用这个替换你的cpu.cmd试试问题解决了没有
如果没问题我就将1楼更新为这个

增加一个判断,当cpu信息里面不包含频率时,从另外的字段获取频率值并加到cpu信息上去

84251

如果cpuz.exe在system32里 ...

谢谢!
但不知哪有问题,
一切按你的说的,
换上你今天修改的CPU.CMD,
又无法显示了!
换回你昨晚提示后修改的CPU.CMD就能不完全显示
怪事。
天使请诊断!

[ 本帖最后由 wenjx5228 于 2010-3-12 13:37 编辑 ]

001.JPG (75.21 KB, 下载次数: 78)

001.JPG

作者: NicTense    时间: 2010-3-12 13:36
原帖由 wenjx5228 于 2010-3-12 13:22 发表

谢谢!
但不知哪有问题,
换上你修改的CPU.CMD,
又无法显示了!
换回你昨晚提示后修改的CPU.CMD就能不完全显示
怪事。
天使请诊断!


没道理啊,你确定cpuz.exe在system32目录下,而且你下载了cpu.cmd之后路径没改,即那行为
cpuz.exe -txt=temp

如果都没错的话,没道理不显示阿
作者: wenjx5228    时间: 2010-3-12 13:40
原帖由 NicTense 于 2010-3-12 13:36 发表
没道理啊,
你确定cpuz.exe在system32目录下,
而且你下载了cpu.cmd之后路径没改,
即那行为
cpuz.exe -txt=temp
如果都没错的话,
没道理不显示阿

我路径不敢乱动,
纯现炒现卖。
连试3遍都如此,
换回晚上依你说的那个版就行,
只是不显示频率而已,
看看:

001.JPG (11.42 KB, 下载次数: 86)

001.JPG

作者: wenjx5228    时间: 2010-3-12 13:42
你能否将添加的语法提示一下,
我再好好找找自己的原因看看,
谢谢!
作者: azhong123456    时间: 2010-3-12 13:43
那个不是IS_和ISO文件,是解压出来的文件夹,那个路径肯定不能这样了
作者: wenjx5228    时间: 2010-3-12 13:45
原帖由 azhong123456 于 2010-3-12 13:43 发表
那个不是IS_和ISO文件,是解压出来的文件夹,那个路径肯定不能这样了

我用WXRS的N_RAM版做的测试,
没啥区别!
作者: NicTense    时间: 2010-3-12 14:01
原帖由 wenjx5228 于 2010-3-12 13:42 发表
你能否将添加的语法提示一下,
我再好好找找自己的原因看看,
谢谢!


for /f "tokens=1,*" %%i in (temp.txt) do (
if /i "%%i"=="Specification" set t=%%j
if /i "%%i"=="product" set m=%%j
if /i "%%i"=="Stock" set f=%%j
)
set t=%t:(TM)=%
set t=%t:(R)=%
set t=%t:)=%
set t=%t:(=#%
if "%t:@=%"=="%t%" if "%t:Hz=%"=="%t%" (
for /f "tokens=1,2,3" %%i in ("%f%") do set c=%%j %%k
set t=%t% @ %c%
)


就加了红色这部分,其他没动,没道理会导显示不了啊,要不你用之前可以的那个版本,自己把这几行加上去试试

[ 本帖最后由 NicTense 于 2010-3-15 14:12 编辑 ]
作者: 66369    时间: 2010-3-12 14:06
原帖由 NicTense 于 2010-3-12 14:01 发表




就加了红色这部分,其他没动,没道理会导显示不了啊,要不你用之前可以的那个版本,自己把这几行加上去试试



最早的版本是行的...只是跨分区调用CPUZ不灵....
作者: NicTense    时间: 2010-3-12 14:31
原帖由 wenjx5228 于 2010-3-12 13:40 发表

我路径不敢乱动,
纯现炒现卖。
连试3遍都如此,
换回晚上依你说的那个版就行,
只是不显示频率而已,
看看:


cpu.rar (770 Bytes, 下载次数: 33)

想了一下,有一种可能,就是你的pe默认没有打开命令扩展

再试一下这个,直接替换,不用改路径


对了,测试的时候可以不用重新打包那么麻烦的

只要把这个文件复制到pe的system32目录下,然后双击他就可以了

如果没问题的话,系统属性那里就能正确显示的了

测试好了再重新打包内核

[ 本帖最后由 NicTense 于 2010-3-12 14:37 编辑 ]
作者: wenjx5228    时间: 2010-3-12 17:26
原帖由 NicTense 于 2010-3-12 14:31 发表

84276

想了一下,有一种可能,就是你的pe默认没有打开命令扩展

再试一下这个,直接替换,不用改路径

对了,测试的时候可以不用重新打包那么麻烦的

只要把这个文件复制到pe的system32目录下, ...

不知咋地,
难道水土不服?
到我手里还是不行,

水先生说,
最早的版本是行的,只是跨分区调用CPUZ不灵
看来水先生的PE,
解铃还须系铃人。
不敢再浪费天使的宝贵精力了!
能显示一半知足了!
谢谢

[ 本帖最后由 wenjx5228 于 2010-3-12 17:34 编辑 ]
作者: slore    时间: 2010-3-12 19:19
原帖由 slore 于 2010-3-11 20:39 发表
呵呵,记得注册表XP在这里

[HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0]
"ProcessorNameString"=" Intel(R) Pentium(R) 4 CPU 2.20GHz"



那能否加点简单的驱动让他能识别, ...



我错了,其实你可以抛弃cpuz了。。。

注册表这个地方开始以为是你ISO里面的注册表,发现其实这里就是当前电脑的CPU信息!

我在不同的电脑上进PE这里内容是当前电脑的CPU信息。

所以不用cpuz了,直接reg查询这里的值写过去就好了。

貌似发现其实sysdm本身就读取了注册表信息,我再看为什么没显示出来,
实在没找到就强写段汇编让它显示出来。这边老断电,找时间看看再发吧。
作者: NicTense    时间: 2010-3-12 19:53
原帖由 slore 于 2010-3-12 19:19 发表



我错了,其实你可以抛弃cpuz了。。。

注册表这个地方开始以为是你ISO里面的注册表,发现其实这里就是当前电脑的CPU信息!

我在不同的电脑上进PE这里内容是当前电脑的CPU信息。

所以不用cpuz了, ...


我就是不确定这里是不是一定会有cpu信息,貌似我之前试过是空的,不知道是不是记错了,查了别的地方了

还有就是这里只有cpu一项信息,cpuz的好处就是啥都有,需要的话,连显卡都能显示出来

sysdm.cpl不显示的问题没去仔细研究,有可能是少了什么文件导致的,我一般是能实现就懒得研究了,cpuz其实挺好的,

放在shel是不会影响速度的

好了,增加了一个纯注册表方案,放在一楼了

[ 本帖最后由 NicTense 于 2010-3-12 20:49 编辑 ]




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