~~~求教如何更改计算机名,系统Win7,delphiXE~~~~~~~~

伤影 2015-06-18 08:40:28
目前已经尝试:
SetComputerName,重启后发现只更改了netbios的名字,计算机名字没有更改

于是百度、搜狗、google到处查询,据说SetComputerNameEX可以更改,可惜delphi没有申明,于是找资料自己申明,却提示无法定位错误,我的申明如下:

function SetComputerNameEx(NameType: TComputerNameFormat; lpComputerName: LPCWSTR): BOOL;
stdcall; external 'kernel32.dll' Name 'SetComputerNameEx';
...全文
188 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyhoo163 2015-06-19
  • 打赏
  • 举报
回复
代码执行后,重启计算机即可。
lyhoo163 2015-06-19
  • 打赏
  • 举报
回复
修改计算机名,需要通过修改注册表来完成。 参考代码:
  RegRootKey:=TRegistry.Create;
  RegRootKey.RootKey := HKEY_LOCAL_MACHINE;
  try
    PCName:=Trim(Edit1.Text);        
    if regRootKey.OpenKey('\SYSTEM\ControlSet001\Control\ComputerName\ComputerName\', True) then
    begin
      regRootKey.WriteString('ComputerName',PCName);
      if regRootKey.OpenKey('\SYSTEM\ControlSet001\Services\Tcpip\Parameters', True) then
      begin
        regRootKey.WriteString('NV Hostname',PCName);
        if regRootKey.OpenKey('\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName', True) then
        begin
          regRootKey.WriteString('ComputerName',PCName);
          if regRootKey.OpenKey('\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters', True) then
          begin
            regRootKey.WriteString('NV Hostname',PCName);
          end;
        end;
      end;
    end;
  finally
  end;

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧