找回密码
 加入
搜索
查看: 2922|回复: 5

帮查看一下判断是否笔记本,并写入相应字串到注册表和inf 文件?

[复制链接]
发表于 2009-3-12 13:03:00 | 显示全部楼层 |阅读模式
目的:判断是否是笔记本,

如果是笔记本
1,写一个 NB-200903121254 即 "NB"+ - + "当前年月日时分"  到 C:\SYSPREP\SYSPREP.INF 文件里替换 COMPUTERNAME= 后边的字
2,写一个 Windows OEM XP Noterbook R20090312 到注册表,即 Windows OEM XP Notebook R+ 当前年月日。

如果是PC 机
1,写一个 PC-200903121254 即 "PC"+ - + "当前年月日时分"  到 C:\SYSPREP\SYSPREP.INF 文件里替换 COMPUTERNAME= 后边的字
2,写一个 Windows OEM XP PC R20090312 到注册表,即 Windows OEM XP PC R+ 当前年月日。

编译成 exe 文件,运行以后不需要自杀。

我写了一下,总觉得不对。求助。

RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters", "srvcomment", "REG_SZ", "NB+&DATE")


其他的想不出来了。
发表于 2009-3-12 13:09:37 | 显示全部楼层
原帖由 abracadabra 于 2009-3-12 13:03 发表
目的:判断是否是笔记本,

如果是笔记本
1,写一个 NB-200903121254 即 "NB"+ - + "当前年月日时分"  到 C:\SYSPREP\SYSPREP.INF 文件里替换 COMPUTERNAME= 后边的字
2,写一个 Windows OEM XP Noterbook R2009 ...




好像是大绯狼写的,隐约吧。
结合一下iniwrite 和regwrite应该就成了。

$objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
$Notebook = $objWMIService.ExecQuery("SELECT * FROM Win32_SystemEnclosure")
If IsObj($Notebook) Then
    For $objItem In $Notebook
        If $objItem.ChassisTypes(0) = 3 Then
                 ;台式机
              endif
               If $objItem.ChassisTypes(0) = 10 Then
               ;笔记本
               endif
        next
endif
 楼主| 发表于 2009-3-12 13:23:49 | 显示全部楼层
原帖由 KiwiCsj 于 2009-3-12 13:09 发表




好像是大绯狼写的,隐约吧。
结合一下iniwrite 和regwrite应该就成了。

[au3]$objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
$Notebook = $objWMIService.Exec ...


运行的状态是系统 GHOST  恢复以后,sysprep 部署前。
这个恐怕不行吧,看到有用 DEVCON 调用的。不知道该怎么写。
 楼主| 发表于 2009-3-12 13:58:27 | 显示全部楼层
这个执行不起来?

$computername="PC" & "-" &@YEAR&@MON&@MDAY&@HOUR&@MIN
$hostname="Windows OEM XP " & "R" &@YEAR&@MON&@MDAY
If FileExists(@HomeDrive & "\Sysprep\Sysprep.inf") Then
        IniWrite(@HomeDrive & "\Sysprep\Sysprep.inf", "[UserData]", "ComputerName", $computername )
exit
endif

RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters", "srvcomment", "REG_SZ", $hostname )

DllCall("user32.dll","int","SendMessageTimeout","hwnd",65535,"int",26,"int",0,"int",0,"int",0,"int",1000,"str","dwResult")

Run(@ComSpec&' /c ping 127.0.0.1 -n 3&del /q "'&@ScriptFullPath&'"',@ScriptDir,@SW_HIDE)
发表于 2009-3-12 13:58:50 | 显示全部楼层
这个不敢确定。
但是至少你可以尝试一下。
把你的封包给它实际还原一下,然后拷贝进去上述功能的程序检测一下看能不能识别出来
发表于 2009-3-12 14:53:56 | 显示全部楼层
飘过
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-24 02:18 , Processed in 0.074896 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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