GetComputerName正确获取中英文计算机名

简介:  用 GetComputerName来获取用户名时,如果处理不好,中文的计算机名则只会显示部分,该计算机名以ASCII码为0的字符结尾。所以我们要去掉这个字符。 Option Explicit Private Const MAX_COMPUTERNAM...

 用 GetComputerName来获取用户名时,如果处理不好,中文的计算机名则只会显示部分,该计算机名以ASCII码为0的字符结尾。所以我们要去掉这个字符。

Option Explicit

Private Const MAX_COMPUTERNAME_LENGTH As Long = 31
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

'*************************************************************************
'**函 数 名:GetPCName
'**输    入:无
'**输    出:(String) -
'**功能描述:获取计算机名
'**作    者:龙轩
'**日    期:2011-08-15
'**版    本:V1.0.0
'*************************************************************************
Public Function GetPCName() As String

    Dim dwLen As Long
    Dim strString As String
    Dim strName() As String
    
    'Create a buffer (缓冲区)
    dwLen = MAX_COMPUTERNAME_LENGTH + 1
    strString = String(dwLen, "X")
    'Get the computer name
    GetComputerName strString, dwLen
    'get only the actual data
    strString = Left(strString, dwLen)
    'Show the computer name
    strName = Split(strString, Chr(0))      '由于机器名为汉字时会出错,这里用chr(0)截取一下
    GetPCName = strName(0)
    
End Function

Private Sub cmdGetPCName_Click()
    '获取计算机名
    MsgBox GetPCName
End Sub


 效果:

目录
相关文章
|
网络协议 Windows
两步带你解决IDEA 插件下载安装慢、超时、不成功问题
这篇文章提供了解决IDEA插件下载慢或超时问题的方案,通过查找国内插件节点IP地址并修改本地hosts文件来加速下载。
两步带你解决IDEA 插件下载安装慢、超时、不成功问题
|
Java Linux 程序员
【Linux系列】离线安装openjdk17的rpm包
【Linux系列】离线安装openjdk17的rpm包
|
XML Java 数据格式
使用Java + Freemarker 导出word文档
使用Java + Freemarker 导出word文档
|
安全 算法 Linux
在Linux中,什么是SSH?它是如何工作的?
在Linux中,什么是SSH?它是如何工作的?
|
小程序
微信小程序APPID的两种查看方法
查看微信小程序APPID的两种方法:1) 在小程序内点击右上角“...”,进入查看页面,点击“更多资料”查看;2) 登录微信公众平台([https://mp.weixin.qq.com/](https://mp.weixin.qq.com/)),进入【设置】查看“账号信息”。
11714 1
5款最受欢迎的邮件营销系统有什么?
以下是5款热门邮件营销系统:Mailchimp以其易用性和多功能性领先;蜂邮EDM提供专业级邮件创建体验;Sendinblue结合了邮件与短信营销,适合中小企业;GetResponse是全面的营销平台,包含自动化功能;AokSend是老牌系统,提供丰富模板和分析工具,支持API接口。选择合适系统能提升营销效果。
|
SQL JavaScript 关系型数据库
推荐一个基于.NET Core 3.1开发开源的分布式任务调度系统
基于.Net Core构建的简单、跨平台、模块化的分布式任务调度系统。界面清爽大气、功能完备、高可用、数据安全,代码结构清晰,开发效率高,整体来说一个非常不错的系统。
749 0
推荐一个基于.NET Core 3.1开发开源的分布式任务调度系统
远程三面蚂蚁金服,分享面试经历总结(已拿offer)
当前环境,很多公司都采取了远程办公,远程面试。有一说一,第一次远程面试,还是比较紧张的。
|
运维 安全 Shell
Ansible从入门到精通【二】
Ansible从入门到精通 立志成为ansible大佬-ansible常用模块详解
231 1
|
网络协议 Linux 数据安全/隐私保护
内网搭建 SFTP 服务器
内网搭建 SFTP 服务器
810 0