找回密码
 加入
搜索
查看: 5547|回复: 13

[系统综合] [已解决]如何改win用户名称和用户全名

  [复制链接]
发表于 2009-9-28 21:56:33 | 显示全部楼层 |阅读模式
本帖最后由 cxckx 于 2009-10-20 23:15 编辑

如何把win用户名称例如test改为ks,用户全名例如“测试”改成“考试”(用户全名是在win登录界面显示的用户名称),或者请pusofalse 大哥有空给LocalSecurityAuthority.au3加上这样一个可以改用户名和全名的函数,这样功能更全一些。

评分

参与人数 1金钱 +15 收起 理由
afan + 15 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2009-10-15 22:54:17 | 显示全部楼层
本帖最后由 pusofalse 于 2009-10-15 22:57 编辑
#include <LocalSecurityAuthority.au3>

_LsaLocalUserSetInfo("Test", 0, "ks", "wstr*") ; 改用户名
_LsaLocalUserSetInfo("测试", 1011, "考试", "wstr*") ; 改全名
其实早就添加了这样一个函数,专门设置本地或远程用户信息的。只不过没有单独地写一个更改用户名和全名的函数。_LsaLocalUserSetInfo其实是调用了Netapi32.dll中的NetUserSetInfo API函数,这个API很强大,设置用户的各种信息最终都会调用到这个API,net.exe或者其他设置用户信息的外部工具也是。其中就包含了设置用户名或全名,此外,还可以设置密码、国家代码、到期时间、用户配置文件等。想要灵活地设置用户各种信息,需要对NetUserSetInfo有足够的了解,因为它提供了太多的选项用于标记到底设置用户的何种信息,这也是它的强大之处。
发表于 2009-10-16 17:09:30 | 显示全部楼层
LocalSecurityAuthority.au3 汉化版里没有哦
发表于 2009-10-16 23:50:22 | 显示全部楼层
Re 3#:
可以在这里下载到:http://www.autoitx.com/forum.php ... page%3D1&page=9
这个库的作者的英语水平就不怎样,所以写出来的英语也是汉语式的。如果诸位需要,我跟作者说下,让他汉化一下~
 楼主| 发表于 2009-10-18 19:49:23 | 显示全部楼层
谢谢pusofalse 指点!
 楼主| 发表于 2009-10-18 20:08:34 | 显示全部楼层
本帖最后由 cxckx 于 2009-10-20 22:13 编辑

改全名试了不管用,是什么地方不对啊?
_LsaLocalUserSetInfo("测试", 1011, "考试", "wstr*")
发表于 2009-10-18 22:06:19 | 显示全部楼层
Re 6#:
不可能不行吧,你的操作系统?测试环境?
 楼主| 发表于 2009-10-19 23:21:55 | 显示全部楼层
本帖最后由 cxckx 于 2009-10-19 23:31 编辑

我的操作系统是xp sp2, autoit 3.311第一汉化版和autoit 3.210汉化版,在两台机都试了,还是改不了全名,只能改用户名,我又把全名中的汉字“测试”换成"test1"、“考试”换成“ks1”也还是不能改全名,但是手动是可以改全名的。
发表于 2009-10-19 23:53:15 | 显示全部楼层
Re 8#:
真是奇怪。你把_LsaLocalUserSetInfo("测试", 1011, "考试", "wstr*")这句改成如下:
$fResult = _LsaLocalUserSetInfo("测试", 1011, "考试", "wstr*")
Msgbox(0, $fResult, "Error code: " & @error)
看下错误代码是多少?
 楼主| 发表于 2009-10-20 22:06:26 | 显示全部楼层
本帖最后由 cxckx 于 2009-10-20 22:12 编辑

我刚试了,错误代码是2221,是不是没有找到匹配的用户全名啊?
发表于 2009-10-20 22:53:12 | 显示全部楼层
Re 10#:
原来如此,我明白了。2221对应错误“找不到指定用户”。
上例代码中的“测试”是用户名,不是用户全名。将“测试”改为用户名就可以了。
_LsaLocalUserSetInfo只能根据“用户名”设置用户信息。
“用户全名”不是唯一的,不同的两个用户也可以有同样的全名,这种情况下,你指定“全名”,到底是要设置哪个用户的信息呢?而“用户名”却是唯一的。
 楼主| 发表于 2009-10-20 23:14:33 | 显示全部楼层
哦,那应该改成修改后的用户名ks,然后再替换全名,这样试过成功了,多谢pusofalse 大哥!
_LsaLocalUserSetInfo("ks", 1011, "考试", "wstr*")
发表于 2009-12-8 16:36:08 | 显示全部楼层
学习了
强大的库
发表于 2012-4-18 22:00:32 | 显示全部楼层
谢谢 学习了 pusofalse 超级牛
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-30 13:23 , Processed in 0.105538 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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