dllcall系统api SetComputerName的问题...[已解决]
本帖最后由 alomoi 于 2012-3-1 10:23 编辑http://msdn.microsoft.com/en-us/library/ms724930(v=VS.85).aspx
尝试按照帮助文档里的方法调用了一下SetComputerName,不过返回值为空,重启电脑之后计算机名也没有变化,应该是没有成功。
$Result = DllCall("Kernel32.dll","BOOL","SetComputerName","str","test")
求前辈指教m(_ _)m Applications using this function must have administrator rights.
需要先adjusttoken 表示查不到相关资料。
论坛上一个利用SetComputerName的udf也不能用... 本帖最后由 haijie1223 于 2012-2-26 14:14 编辑
Local $test
MsgBox(0,"",@ComputerName);看看没改之前的计算机名
$test=DllCall("KERNEL32.DLL","BOOL","SetComputerNameA","Str","NewName")
If @error = 0 Then
MsgBox(0,"","成功")
Else
MsgBox(0,"",@error)
EndIf
;~ 成功: @error = 0.
;~ 失败: 设置 @error
;~ @error:
;~1 不能使用这个DLL文件,
;~2 未知 "返回值类型",
;~3 未在DLL文件中找到这个"函数".
;~4 参数数量错误.
;~5 无效参数.
重启之后请再运行MsgBox(0,"",@ComputerName)看看改了之后的效果 本帖最后由 alomoi 于 2012-2-28 14:25 编辑
重启之后请再运行MsgBox(0,"",@ComputerName)看看改了之后的效果
haijie1223 发表于 2012-2-26 14:12 http://www.autoitx.com/images/common/back.gif
重启之后用@ComputerName获取的计算机名和SetComputerName的一致。
不过不知道为啥计算机属性里的计算机名未发生改变。 本帖最后由 haijie1223 于 2012-2-28 19:00 编辑
你打开属性点修改看看netbios计算机名好像指的是这个 你打开属性点修改看看netbios计算机名好像指的是这个
haijie1223 发表于 2012-2-28 18:58 http://www.autoitx.com/images/common/back.gif
看起来想改系统-属性里的计算机名的话,还是要靠注册表啊...
感谢指导m(_ _)m
页:
[1]