搜索
查看: 10304|回复: 23

[win] 分享 获取CPU 序列号 无需管理员权限 可以做机器码

  [复制链接]

47

主题

178

帖子

1167

积分

荣誉会员

Rank: 8Rank: 8

积分
1167
发表于 2013-5-31 00:55:11 | 显示全部楼层 |阅读模式
本帖最后由 朴实 于 2013-5-31 10:09 编辑

每用一次aardio,心底都会深深的感谢Jacen一次,aardio简化了很多自己的工作。
---

以前想用硬盘的序列号作为机器码去生成序列号的,但是WIN 7 下面需要管理员权限才行,刚刚想到可以也可以用CPU 序列号的,以下是获取CPU 序列号的,而且不用管理员权限。
谢谢楼下各位的提醒,已修正。
5 楼的速度更快一些,高手好多啊。
  1. io.open()
  2. import com
  3. wmi=com.GetObject("winmgmts:{impersonationLevel=Impersonate}!\")
  4. cpus=wmi.instancesof("win32_processor")

  5. for index, cpu in com.each(cpus) {
  6.         io.print(cpu.deviceid())//CPU
  7.         io.print(cpu.ProcessorId());
  8.         io.print(cpu.name())//
  9. }

  10. execute("pause") //按任意键继续
  11. io.close();
复制代码
生成序列号的可以参考dasan的帖子:

共享程序简单加密注册验证程序
http://bbs.aardio.com/thread-4195-1-1.html

回复

使用道具 举报

7

主题

123

帖子

747

积分

三级会员

Rank: 4

积分
747
QQ
发表于 2013-5-31 07:08:52 | 显示全部楼层

这个可以有啊,很好,谢谢分享

这个可以有啊,很好,谢谢分享
自己做的更适合自己
回复

使用道具 举报

14

主题

56

帖子

525

积分

培训班

积分
525
发表于 2013-5-31 08:15:13 | 显示全部楼层

很不错,我记得在命令模式下也可查看CPUID wmic CPU get ProcessorID

很不错,我记得在命令模式下也可查看CPUID

wmic CPU get ProcessorID
回复

使用道具 举报

12

主题

309

帖子

1798

积分

荣誉会员

Rank: 8Rank: 8

积分
1798
发表于 2013-5-31 09:54:22 | 显示全部楼层

应当是这样吧:[align=left][font=新宋体][quote][color=#0000ff]import[/color][color=#000000]

应当是这样吧:
import com;
import console;
var WMI = com.GetObject("winmgmts:\\");
var cpus = WMI.instancesof("win32_processor")

for index, cpu in com.each(cpus) {
    console.log(cpu.deviceid())
//CPU
    console.log(cpu.ProcessorId());
    console.log(cpu.name())
//
}



回复

使用道具 举报

12

主题

309

帖子

1798

积分

荣誉会员

Rank: 8Rank: 8

积分
1798
发表于 2013-5-31 09:57:14 | 显示全部楼层

标准库里的sys.cpu可以调用汇编指令 cpuid直接取CPU信息,比WMI速度快:[align=left][font=新宋体][quote][color=#

标准库里的sys.cpu可以调用汇编指令 cpuid直接取CPU信息,比WMI速度快:
import sys.cpu;
var cpuInfo = sys.cpu.getInfo(1,{ INT eax;INT ebx;INT ecx;INT edx } )
var cpuid = string.format("%08X%08X",cpuInfo.edx,cpuInfo.eax )

import console;
console.log(
"CPU序列号",cpuid)
console.log(
"CPU频率",math.round(sys.cpu.getFrequence()/1000,2) + " GHz" )
console.log(
"CPU商标",sys.cpu.getBrand() )
console.log(
"CPU厂商", ( sys.cpu.getVender() ) )


点评

真棒: 5.0
真棒: 5
  发表于 2013-5-31 10:08
回复

使用道具 举报

7

主题

305

帖子

1913

积分

新手入门

积分
1913
QQ
发表于 2013-5-31 09:59:14 | 显示全部楼层

第三行添加wmi=com.GetObject("winmgmts:{impersonationLevel=Impersonate}!\\") 才可以。

第三行添加wmi=com.GetObject("winmgmts:{impersonationLevel=Impersonate}!\\") 才可以。
每天进步一点点......
回复

使用道具 举报

47

主题

178

帖子

1167

积分

荣誉会员

Rank: 8Rank: 8

积分
1167
 楼主| 发表于 2013-5-31 10:07:39 | 显示全部楼层

[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=58565&ptid=10413][c

nvt303 发表于 2013-5-31 09:59
第三行添加wmi=com.GetObject("winmgmts:{impersonationLevel=Impersonate}!\\") 才可以。


谢谢,已修正
回复

使用道具 举报

53

主题

277

帖子

1741

积分

四级会员

Rank: 6Rank: 6

积分
1741
发表于 2013-5-31 13:40:53 | 显示全部楼层

有个局限 很多精简版系统没有wmi..

有个局限 很多精简版系统没有wmi..
回复

使用道具 举报

7

主题

87

帖子

593

积分

三级会员

Rank: 4

积分
593
发表于 2013-5-31 22:20:46 | 显示全部楼层

wmi组件,不错的思路,学习了

wmi组件,不错的思路,学习了
本人男,爱好女!
http://www.hxcarrot.com
回复

使用道具 举报

0

主题

6

帖子

110

积分

一级会员

Rank: 2

积分
110
发表于 2013-6-1 00:48:26 | 显示全部楼层

又学习了,谢谢!

又学习了,谢谢!
回复

使用道具 举报

4

主题

46

帖子

446

积分

二级会员

Rank: 3Rank: 3

积分
446
发表于 2013-6-1 11:52:37 | 显示全部楼层

学习了.

学习了.
回复

使用道具 举报

1

主题

16

帖子

95

积分

一级会员

Rank: 2

积分
95
发表于 2013-6-3 05:55:32 | 显示全部楼层

这个很实用,收藏

这个很实用,收藏
回复

使用道具 举报

5

主题

17

帖子

138

积分

一级会员

Rank: 2

积分
138
发表于 2013-6-4 09:25:30 | 显示全部楼层

汇编效果不错

汇编效果不错
回复

使用道具 举报

47

主题

178

帖子

1167

积分

荣誉会员

Rank: 8Rank: 8

积分
1167
 楼主| 发表于 2013-6-4 14:59:39 | 显示全部楼层

[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=58574&ptid=10413][c

winner 发表于 2013-5-31 13:40
有个局限 很多精简版系统没有wmi..

有没有其他办法呢?
回复

使用道具 举报

5

主题

75

帖子

475

积分

二级会员

Rank: 3Rank: 3

积分
475
发表于 2013-6-5 17:17:06 | 显示全部楼层

很棒。学习了

很棒。学习了
回复

使用道具 举报

0

主题

24

帖子

132

积分

一级会员

Rank: 2

积分
132
发表于 2013-6-11 15:51:21 | 显示全部楼层

这个来做硬件绑定之类的有用,呵呵~~

这个来做硬件绑定之类的有用,呵呵~~
回复

使用道具 举报

0

主题

1

帖子

6

积分

新手入门

Rank: 1

积分
6
发表于 2013-6-15 18:58:31 | 显示全部楼层

学习一下 自己是个新手的新手

学习一下 自己是个新手的新手
回复

使用道具 举报

0

主题

12

帖子

151

积分

一级会员

Rank: 2

积分
151
发表于 2013-8-4 23:07:37 | 显示全部楼层

[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=58564&ptid=10413][c

auaau 发表于 2013-5-31 09:57
标准库里的sys.cpu可以调用汇编指令 cpuid直接取CPU信息,比WMI速度快:

你真好!
回复

使用道具 举报

0

主题

2

帖子

24

积分

新手入门

Rank: 1

积分
24
发表于 2014-5-24 10:59:57 | 显示全部楼层

为什么,我三台电脑,取得CPU序列一样呢?

为什么,我三台电脑,取得CPU序列一样呢?
回复

使用道具 举报

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

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-12-12 03:08 , Processed in 0.078125 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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