May 29

域名格式为 abc.mycompany.com,如果只要abc这个短域名,方法比较简单:

C/C++ Code Copy Code To Clipboard
  1. function fGetDomainName: String;  
  2. var vlDomainName : array[0..30] of char;  
  3.     vlSize : ^DWORD;  
  4. begin  
  5.     New(vlSize);  
  6.     vlSize^ := 30;  
  7.     ExpandEnvironmentStrings(PChar('%USERDOMAIN%'), vlDomainName, vlSize^);  
  8.     Dispose(vlSize);  
  9.     Result := vlDomainName;  
  10. end;  

如果要完整域名,稍麻烦些:

C/C++ Code Copy Code To Clipboard
  1. //先定义输入类型,  
  2. type  
  3.     COMPUTER_NAME_FORMAT = (  
  4.     ComputerNameNetBIOS,  
  5.     ComputerNameDnsHostname,  
  6.     ComputerNameDnsDomain,  
  7.     ComputerNameDnsFullyQualified,  
  8.     ComputerNamePhysicalNetBIOS,  
  9.     ComputerNamePhysicalDnsHostname,  
  10.     ComputerNamePhysicalDnsDomain,  
  11.     ComputerNamePhysicalDnsFullyQualified,  
  12.     ComputerNameMax);  
  13.   
  14. //GetComputerNameEx这个函数可以根据上面的输入要求输出各种信息,但是要在此声明:  
  15. function GetComputerNameEx(NameType: COMPUTER_NAME_FORMAT; lpBuffer: LPSTR;  
  16.     var nSize: DWORD): BOOL; stdcall; external 'kernel32.dll' name 'GetComputerNameExA';  
  17.   
  18. //使用ComputerNameDnsDomain参数可以得到完整域名  
  19. function fGetDomainName: String;  
  20. var vlDomainName : array[0..30] of char;  
  21.     vlSize : ^DWORD;  
  22. begin  
  23.     New(vlSize);  
  24.     vlSize^ := 30;  
  25.     GetComputerNameEx(ComputerNameDnsDomain,vlDomainName, vlSize^);  
  26.     Dispose(vlSize);  
  27.     Result := vlDomainName;  
  28. end;  

 

 

Tags: ,
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]