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 LongPrivate Sub Command1_Click()Dim lSize As LongDim sBuffer As StringDim strName() As String '声明一个数组,用于存储分割的不同的字符串'API函数中字符串作变量,需提前声明长度'创建一个缓冲区lSize = MAX_COMPUTERNAME_LENGTH + 1sBuffer = 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获得的名称不同
GetUserName: http://blog.csdn.net/wrs120/article/details/52117645