API函数之GetComputerName

本文详细介绍了使用Visual Basic中的API函数GetComputerName获取计算机名称的方法。通过实例代码演示了如何设置缓冲区、调用API及处理返回结果。适用于需要了解或实现此功能的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
一.作用
取得该台计算机的名称,为计算机的NetBIOS名称,这个名称被建立在系统启动时,就从注册表中读取它。
二.输入参数说明
lpBuffer:string类型,随同计算机名载入的字串缓冲区。 
nSize:long类型,缓冲区的长度,缓冲区的大小应足够大,以便能够容纳MAX_COMPUTERNAME_LENGTH+1个字符。输出时,不包括终止空字符。
三.输出说明
Long,TRUE(非零)表示成功,否则返回零。
四.举例说明
代码如下:
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
Private Sub Command1_Click()
Dim lSize As Long
Dim sBuffer As String
Dim strName() As String  '声明一个数组,用于存储分割的不同的字符串
'API函数中字符串作变量,需提前声明长度
'创建一个缓冲区
lSize = MAX_COMPUTERNAME_LENGTH + 1
sBuffer = String(100, 0)
'获取计算机名
GetComputerName sBuffer, lSize
'截取(计算机名+1个字符的)长度
sBuffer = Left(sBuffer, lSize)
'显示计算机名,由于机器名为汉字时会出错,这里用chr(0)截取一下
strName = Split(sBuffer, Chr(0))
Print strName(0)  '截取字符串的第一串
End Sub
注释:chr(0)标识字符串的结尾
运行结果为:

五.注意GetComputerName与GetUserName获得的名称不同


评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值