无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: NicTense
打印 上一主题 下一主题

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

[复制链接]
91#
发表于 2010-3-12 13:40:55 | 只看该作者
原帖由 NicTense 于 2010-3-12 13:36 发表
没道理啊,
你确定cpuz.exe在system32目录下,
而且你下载了cpu.cmd之后路径没改,
即那行为
cpuz.exe -txt=temp
如果都没错的话,
没道理不显示阿

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

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

001.JPG
回复

使用道具 举报

92#
发表于 2010-3-12 13:42:45 | 只看该作者
你能否将添加的语法提示一下,
我再好好找找自己的原因看看,
谢谢!
回复

使用道具 举报

93#
发表于 2010-3-12 13:43:07 | 只看该作者
那个不是IS_和ISO文件,是解压出来的文件夹,那个路径肯定不能这样了
回复

使用道具 举报

94#
发表于 2010-3-12 13:45:35 | 只看该作者
原帖由 azhong123456 于 2010-3-12 13:43 发表
那个不是IS_和ISO文件,是解压出来的文件夹,那个路径肯定不能这样了

我用WXRS的N_RAM版做的测试,
没啥区别!
回复

使用道具 举报

95#
 楼主| 发表于 2010-3-12 14:01:16 | 只看该作者
原帖由 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 编辑 ]
回复

使用道具 举报

96#
发表于 2010-3-12 14:06:06 | 只看该作者
原帖由 NicTense 于 2010-3-12 14:01 发表




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



最早的版本是行的...只是跨分区调用CPUZ不灵....
回复

使用道具 举报

97#
 楼主| 发表于 2010-3-12 14:31:35 | 只看该作者
原帖由 wenjx5228 于 2010-3-12 13:40 发表

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


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

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

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


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

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

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

测试好了再重新打包内核

[ 本帖最后由 NicTense 于 2010-3-12 14:37 编辑 ]
回复

使用道具 举报

98#
发表于 2010-3-12 17:26:29 | 只看该作者
原帖由 NicTense 于 2010-3-12 14:31 发表

84276

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

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

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

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

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

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

[ 本帖最后由 wenjx5228 于 2010-3-12 17:34 编辑 ]
回复

使用道具 举报

99#
发表于 2010-3-12 19:19:37 | 只看该作者
原帖由 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本身就读取了注册表信息,我再看为什么没显示出来,
实在没找到就强写段汇编让它显示出来。这边老断电,找时间看看再发吧。
回复

使用道具 举报

100#
 楼主| 发表于 2010-3-12 19:53:45 | 只看该作者
原帖由 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 编辑 ]
回复

使用道具 举报

101#
发表于 2010-3-12 23:51:26 | 只看该作者
天使,
我这样乱搞也行啊!

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

维护版01.JPG (85.76 KB, 下载次数: 90)

维护版01.JPG
回复

使用道具 举报

102#
发表于 2010-3-12 23:52:35 | 只看该作者
再次请教天使:
1.有WINPE03.IS_内核的多功能版PE,
WINPE03.IS_解开得到WINPE03.ISO,
打开WINPE03.ISO得到WXPE,
此WXPE下SYSTEM32,
CPUZ.EXE欲放SYSTEM32下,
CPU.CMD中语法路径该如何设置?

2.网启版CPUZ.EXE想放SYSTEM32,
而SYSTEM32在WXRS_6.ISO里的WXPE下,
其语法路径又该如何设置?

前面的办法还行的通么?
真的无办法了。
谢谢!
回复

使用道具 举报

103#
 楼主| 发表于 2010-3-12 23:57:01 | 只看该作者

回复 #102 wenjx5228 的帖子

%SystemRoot%\system32\cpuz.exe

完整的路径应该是上面这行
回复

使用道具 举报

104#
发表于 2010-3-13 00:18:00 | 只看该作者
原帖由 NicTense 于 2010-3-12 23:57 发表
%SystemRoot%\system32\cpuz.exe
谢谢!
完整的路径应该是上面这行

这是适于有WINPE03.IS_内核的?
那我明天有时间试试!
回复

使用道具 举报

105#
发表于 2010-3-13 00:21:25 | 只看该作者
看来对AMD显示不完整,
是CPUZ.EXE的BUG,
能象征性的显示就OK了!
天使你就别在琢磨了!
太辛苦!
回复

使用道具 举报

106#
 楼主| 发表于 2010-3-13 00:26:24 | 只看该作者
没bug,在我这里没问题,你可能弄错了什么地方
回复

使用道具 举报

107#
发表于 2010-3-13 00:26:53 | 只看该作者
总结一下:
适于有WINPE03.IS_内核的
%SystemRoot%\system32\cpuz.exe  -txt=temp
适于无内核的
cpuz.exe -txt=temp
这样对吗?
回复

使用道具 举报

108#
发表于 2010-3-13 00:32:25 | 只看该作者
原帖由 NicTense 于 2010-3-13 00:26 发表
没bug,
在我这里没问题,
你可能弄错了什么地方

无内核的和有内核的CPUZ都是放相同目录下,
区别就是内核的还要压缩,
每做一步标记一下,
添加每个文件标记一下,
每步做啥都标记着,
应该不会错啊?

[ 本帖最后由 wenjx5228 于 2010-3-13 00:34 编辑 ]
回复

使用道具 举报

109#
 楼主| 发表于 2010-3-13 00:32:34 | 只看该作者

回复 #107 wenjx5228 的帖子

你有空得学一下基础知识,弄清楚路径的概念

放system32的话,其实两个应该是一样的
完整路径是这个
%SystemRoot%\system32\cpuz.exe  -txt=temp

最好都这么写吧
回复

使用道具 举报

110#
发表于 2010-3-13 00:35:47 | 只看该作者
原帖由 NicTense 于 2010-3-13 00:32 发表
你有空得学一下基础知识,弄清楚路径的概念

放system32的话,其实两个应该是一样的
完整路径是这个
%SystemRoot%\system32\cpuz.exe  -txt=temp

最好都这么写吧


说的是,
我确实是语法盲,
感谢你!
回复

使用道具 举报

111#
发表于 2010-3-13 10:49:52 | 只看该作者

[原创]1字节让PE显示CPU信息

首先先BS下NicTense

原帖由 NicTense 于 2010-3-9 13:32 发表
据我所知,大部分PE的系统属性都是显示不了计算机型号和cpu信息的,因为缺乏相关驱动
而添加这些驱动用处不大,麻烦却不小



整了好久,其实和驱动没关系!因为我下面的方法根本没动驱动。。。


顺便问下计算机型号是哪个?XP下我的电脑貌似也没有显示那个信息。


正题:
改了几种方案,这里给出一个最简单的修改方法。
(而且PE,XP都可用)

XP SP3的sysdm.cpl(版本号 5.1.2600.5512)
0001271F 处的00改为02

为了更准确打开UE修改前,请看下未修改的文件这里与
00012710h: CC 8B FF 55 8B EC 81 EC 24 04 00 00 83 7D 18 00 ; 这里的乱码导致帖子内容断了

是否一致。

其他版本(我只测试了XP的)的可以搜索
CC 8B FF 55 8B EC 81 EC 24 04 00 00 83 7D 18 00
然后将最后一个00改为02即可。




TangoPE,还有一些早期的基于XP的PE测试通过。
03的先试下看能找到这个字串不。

[ 本帖最后由 slore 于 2010-3-13 10:54 编辑 ]
回复

使用道具 举报

112#
发表于 2010-3-13 10:58:15 | 只看该作者
优点不用多说,系统自己实现的,不用去改sysdm.cpl,内部代码看了,
如果内容过多自动分段显示的,MS考虑的还挺细的。

而且不影响OEM信息。

缺点:
你们来提吧。
回复

使用道具 举报

113#
发表于 2010-3-13 10:59:03 | 只看该作者
呵呵 ,这回 天使该火了。
回复

使用道具 举报

114#
发表于 2010-3-13 11:01:41 | 只看该作者
或者文件本来就是这样的吧?

那个文件,包括 SHELL32.DLL 都是被人修改过了,一些 PE 为了防止人修改或难于修改系统属性里的信息,可能将 SYSDM.CPL 和 SHSELL32.DLL 修改了(最简单就是修改SYSDM.CPL资源中的一些控件ID),使 SYSDM.CPL 不能正确显示 OEMINFO.INI 中的内容,且在 SYSDM.CPL 中直接植入用户名等。

[ 本帖最后由 lxl1638 于 2010-3-13 11:02 编辑 ]
回复

使用道具 举报

115#
 楼主| 发表于 2010-3-13 11:03:18 | 只看该作者
呵呵,这个厉害~~稍后测试一下,我一直以为是驱动的问题
是不是只能显示cpu一项信息
回复

使用道具 举报

116#
发表于 2010-3-13 11:05:08 | 只看该作者
原帖由 caomaoLBL 于 2010-3-13 10:59 发表
呵呵 ,这回 天使该火了。



不会吧,在他的帖子里面我给他说过了,sysdm.cpl其实本身能显示的。
用进程监视工具发现它能得到CPU信息,只是有个布尔量做判断,在XP
下得到值为1,PE下得到值为0,是0的话就不显示了。

这个布尔量到底哪里赋值的我懒得找了,看反汇编代码看的晕的。
这里把它改成与2去对比,不为2都可以显示,所以XP和PE都可以显示了。
回复

使用道具 举报

117#
发表于 2010-3-13 11:14:39 | 只看该作者
原帖由 NicTense 于 2010-3-13 11:03 发表
呵呵,这个厉害~~稍后测试一下,我一直以为是驱动的问题
是不是只能显示cpu一项信息



我在XP下也只是有CPU信息啊,所以不明白你说的型号(OEM信息?)啥咋回事呀。

你是指这个频率?

C.JPG (42.39 KB, 下载次数: 122)

C.JPG
回复

使用道具 举报

118#
 楼主| 发表于 2010-3-13 11:15:36 | 只看该作者
原帖由 slore 于 2010-3-13 10:49 发表

顺便问下计算机型号是哪个?XP下我的电脑貌似也没有显示那个信息。


哈哈,一切为了帅!这个计算机信息貌似xp真的也不显示,不过加上去看上去真的很不错
其实cpuz也不是一无是处的,3秒时间在shel后加载不会感觉到有任何延迟的,所以副作用也说不上
除了可以显示计算机型号之外
相对于直接显示还有一个好处

原始的cpu信息里面字符串的排列很难看的
我的那个批处理是对该字符串做了处理的,这样显示的效果会更好一些
tangope考虑的第一因素就是帅!至于实现的方法,能实现就好,用什么就无所谓了

另外用cpuz还考虑到一个未实现的功能,就是先判断显卡是什么,再决定是否加驱动,
当然,这个可能也有另外的方法可以实现,没去细究


ps:你说的那个数据很容易实现的,~Mhz的字段就是,16进制,需要转化为10进制
但是这个显示出来不帅!哈哈


不过你这个发现很有价值,我看看能不能腾出一个位置来写版本...之前因为用掉了2个字段,版本只能内置,优点头痛,呵呵

[ 本帖最后由 NicTense 于 2010-3-13 11:19 编辑 ]
回复

使用道具 举报

119#
发表于 2010-3-13 11:16:27 | 只看该作者
无忧真是高手云集......有问题一般都能找到解决方案

[ 本帖最后由 yigeren 于 2010-3-13 11:18 编辑 ]
回复

使用道具 举报

120#
发表于 2010-3-13 11:44:34 | 只看该作者
有点怀疑,原来是00也可以显示的。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-13 17:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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