如何獲取本機電腦的AD域名稱

如何獲取本機電腦的AD域名稱,該代碼參考了MSDN幫助文檔裏面所寫的內容
#define _WIN32_WINNT 0x0500

#include <windows.h>
#include <stdio.h>
#include <tchar.h>

void _tmain(void)
{
	TCHAR buffer[256] = TEXT("");
	TCHAR szDescription[8][32] = { TEXT("NetBIOS"),
		TEXT("DNS hostname"),
		TEXT("DNS domain"),
		TEXT("DNS fully-qualified"),
		TEXT("Physical NetBIOS"),
		TEXT("Physical DNS hostname"),
		TEXT("Physical DNS domain"),
		TEXT("Physical DNS fully-qualified") };
	int cnf = 0;
	DWORD dwSize = sizeof(buffer);

	for (cnf = 0; cnf < ComputerNameMax; cnf++)
	{
		if (!GetComputerNameEx((COMPUTER_NAME_FORMAT)cnf, buffer, &dwSize))
		{
			_tprintf(TEXT("GetComputerNameEx failed (%d)\n"), GetLastError());
			return;
		}
		else
		{					
			_tprintf(TEXT("%s: %s\n"), szDescription[cnf], buffer);

		}

		if ((2 == cnf) && (0 == _tcscmp(buffer, _T(""))))
		{
			MessageBox(NULL, _T("No Domain"), _T("MAQ_Test"), MB_OK);
		}

		dwSize = _countof(buffer);
		ZeroMemory(buffer, dwSize);
	}

	while (1)
	{
	}
}
其中的關鍵是使用GetComputerNameEx這個函數進行操作,這個函數可以獲取的內容比較多,計算機的名稱,計算機域的名稱,計算機的全名稱,總之了,使用該函數去找與計算機有關的名稱還是比較好的,運行後的結果如下所示:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章