abracadabra 发表于 2009-3-12 13:03:00

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

目的:判断是否是笔记本,

如果是笔记本
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")


其他的想不出来了。

KiwiCsj 发表于 2009-3-12 13:09:37

原帖由 abracadabra 于 2009-3-12 13:03 发表 http://www.autoitx.com/images/common/back.gif
目的:判断是否是笔记本,

如果是笔记本
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

abracadabra 发表于 2009-3-12 13:23:49

原帖由 KiwiCsj 于 2009-3-12 13:09 发表 http://www.autoitx.com/images/common/back.gif




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

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

运行的状态是系统 GHOST恢复以后,sysprep 部署前。
这个恐怕不行吧,看到有用 DEVCON 调用的。不知道该怎么写。

abracadabra 发表于 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", "", "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)

KiwiCsj 发表于 2009-3-12 13:58:50

这个不敢确定。
但是至少你可以尝试一下。
把你的封包给它实际还原一下,然后拷贝进去上述功能的程序检测一下看能不能识别出来

xrbenbeba 发表于 2009-3-12 14:53:56

飘过:face (33):
页: [1]
查看完整版本: 帮查看一下判断是否笔记本,并写入相应字串到注册表和inf 文件?