當前位置:成語大全網 - 書法字典 - 如何用C語言獲取完整的計算機名

如何用C語言獲取完整的計算機名

使用GetComputerNameEx()函數。

功能原型:

布爾?WINAPI?GetComputerNameEx(

_In_COMPUTER_NAME_FORMAT名稱類型,

_Out_?LPTSTR?lpBuffer,

_Inout_?LPDWORDlpnSize

);參數?NameType名稱類型,lpBuffer?接收該名稱的緩沖區指針lpnSize接收該名稱的緩沖區大小。

返回值:成功返回非零值,失敗返回0。

示例:

#定義?_WIN32_WINNT?0x0500

#包含?& ltwindows.h & gt

#包含?& ltstdio.h & gt

#包含?& lttchar.h & gt

作廢?_tmain(無效)

{

TCHAR?緩沖[256]?=?文本(" ");

TCHAR?szDescription[8][32]?=?{TEXT("NetBIOS "),?

正文(" DNS?主機名”),?

正文(" DNS?域”),?

正文(" DNS?完全合格”)、?

正文("物理?NetBIOS”),?

正文("物理?DNS?主機名”),?

正文("物理?DNS?域”),?

正文("物理?DNS?完全合格")};

int?cnf?=?0;

DWORD?dwSize?=?sizeof(緩沖區);

為了什麽?(cnf?=?0;?cnf?& lt?ComputerNameMax?cnf++)

{

如果?(!GetComputerNameEx((計算機名格式)cnf,?緩沖,?& ampdwSize))

{

_ tprintf(TEXT(" GetComputerNameEx?失敗?(%d)\n "),?GetLastError());

返回;

}

不然呢?_tprintf(TEXT("%s:%s\n "),?szDescription[cnf],?緩沖);

dwSize?=?_countof(緩沖區);

ZeroMemory(緩沖區,dwSize);

}

}