工控编程吧
标题: 上位机MFC如何获得本地计算机的名称 [打印本页]
作者: qq263946146 时间: 2019-8-6 10:58
标题: 上位机MFC如何获得本地计算机的名称
这里分享两种方法来获得计算机的名称。
首先工们在stdafx.h头文件中包含需要用到的头文件与库文件。
- #include <Winsock2.h>
- #pragma comment(lib,"Ws2_32.lib ")
- #define _ATL_APARTMENT_THREADED
- #include <atlbase.h>
- class CDemoModule : public CComModule
- {
- public:
- LONG Unlock();
- LONG Lock();
- LPCTSTR FindOneOf(LPCTSTR p1, LPCTSTR p2);
- DWORD dwThreadID;
- };
- extern CDemoModule _Module;
- #include <atlcom.h>
复制代码 然后就可以添加按钮来调用下面代码,查看效果了。
- void CGkbc8Dlg::OnButton1()
- {
- //获得本地计算机NetBIOS名称
- CString strName = _T("");
- DWORD nSize = 1024;
- ::GetComputerName(strName.GetBuffer(1024), &nSize);
- strName.ReleaseBuffer();
- CString strText = _T("");
- strText.Format(_T("本地计算机的名称:\n%s"), strName);
- AfxMessageBox(strText);
- }
复制代码- void CGkbc8Dlg::OnButton2()
- {
- //初始化WinSock
- WSADATA WSAData;
- if (WSAStartup(MAKEWORD(2,0), &WSAData) != 0)
- {
- return;
- }
-
- //获得本地计算机主机名称
- CString strName = _T("");
- gethostname(strName.GetBuffer(1024), 1024);
- strName.ReleaseBuffer();
- CString strText = _T("");
- strText.Format(_T("本地计算机的名称:\n%s"), strName);
- AfxMessageBox(strText);
- //清理WinSock
- WSACleanup();
- }
复制代码
(, 下载次数: 2)