利用windows系统自带的kernel32.dll文件,然后将其引入到自己的项目中来,就可以轻松实现获取计算机全名了,好了直接上代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
namespace Name
{
class Program
{
enum COMPUTER_NAME_FORMAT
{
ComputerNameNetBIOS,
ComputerNameDnsHostname,
ComputerNameDnsDomain,
ComputerNameDnsFullyQualified,
ComputerNamePhysicalNetBIOS,
ComputerNamePhysicalDnsHostname,
ComputerNamePhysicalDnsDomain,
ComputerNamePhysicalDnsFullyQualified
}
[DllImport("kernel32.dll")]
static extern bool GetComputerNameEx(COMPUTER_NAME_FORMAT NameType, StringBuilder lpBuffer, ref uint lpnSize);
static void Main(string[] args)
{
bool success;
StringBuilder name = new StringBuilder(100);
uint size = 100;
success = GetComputerNameEx(COMPUTER_NAME_FORMAT.ComputerNamePhysicalDnsFullyQualified, name, ref size);
Console.WriteLine(name.ToString());
}
}
}
需要注意的是函数在调用时注意参数的类型一定要一致