| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 684 人关注过本帖
标题:vb 怎么实现改计算机用户名呢。。做机房管理系统其它都实现了,就差这一个了 ...
只看楼主 加入收藏
sandra1991
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-3-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
vb 怎么实现改计算机用户名呢。。做机房管理系统其它都实现了,就差这一个了。
以下是实现的代码部分








 Private Sub Command2_Click()
Dim Num
Num = Text1.Text
Dim Name
If Num < 10 Then
       Name = "KS"
Else
       If Num < 100 Then
             Name = "KS"
       Else
              Name = "KS"
        End If
End If
Set sh = CreateObject("WScript.Shell")
sh.RegWrite "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName", Name + Num, "REG_SZ"
sh.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\NV Hostname", Name + Num, "REG_SZ"
sh.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Hostname", Name + Num, "REG_SZ"
Set sh = Nothing
Set oShell = Nothing

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strIPAddress = Array("192.168.0." & Num)
strSubnetMask = Array("255.255.255.0")
strGateway = Array("192.168.0.1")
For Each objNetAdapter In colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway)
Dim dns
dns = Array("218.85.152.99", "218.85.157.99")
Err = objNetAdapter.SetDNSServerSearchOrder(dns)
Next

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colComputers = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer In colComputers
'ObjComputer.Rename("game" &Num)
Next
Set objNetworkSettings = objWMIService.Get("Win32_NetworkAdapterConfiguration")
objNetworkSettings.SetIPXVirtualNetworkNumber (Num)
End Sub
搜索更多相关主题的帖子: 管理系统 计算机 用户名 
2013-03-24 18:44
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
不懂,偶然来vb版转转,看到又分,流口水了~

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-03-24 20:45
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
收藏
得分:15 
应该是修改系统用户名吧,没事修改计算机名干嘛。
如果是修改计算机名的话,使用SetComputerName 函数,声明是
Declare Function SetComputerName Lib "kernel32" Alias "SetComputerNameA" (ByVal lpComputerName As String) As Long
修改了计算机名好像要重启才有效吧。
如果是修改系统用户名的话则一般用net user命令完成的,如vb中运行下列代码可添加一个超级用户的lowxiong账户
Shell "net user lowxiong  /add"
Shell "net localgroup administrators lowxiong /add"
下面命令删除刚刚添加的用户
Shell "net user lowxiong  /del"
当前用户必须有足够权限才能使net user命令正常运行,具体方法你可以百度net user
你引用了wmi,wmi应该可以完成这些的。

[ 本帖最后由 lowxiong 于 2013-3-25 08:49 编辑 ]
2013-03-25 08:47
VBatman
Rank: 1
等 级:新手上路
帖 子:1
专家分:5
注 册:2013-3-26
收藏
得分:5 
我看你的代码是想修改计算机名称的吧。刚好昨晚写出来了一个。。可能会帮到你。。迟点给你发代码
2013-03-26 18:00
快速回复:vb 怎么实现改计算机用户名呢。。做机房管理系统其它都实现了,就差这 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016182 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved