- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
查询本地计算机配置 授课教师: 导入 内联网经常用在企业的局域网并使用分布式的应用程序,而分布式的应用程序宿主是本地计算机,如何正确地获得本地计算机的网络协议及配置信息,对于更深入地编写网络应用程序是一件很重要的事。 本章要点 获取主机名和IP地址 读取注册表 查询本机网卡地址 查询本机子网掩码 查询本机网关 查询本机DNS设置 功能需求分析 开发一个简单的查询工具,可以查询本机的基本软硬件配置,本机的基本网络配置,包括: 计算机名 IP地址 操作系统 CPU 网卡地址 子网掩码 DNS服务器 网关 界面设计 获取主机名和IP地址 程序运行界面 获取本机计算机名源代码 WSADATA wsaData; WSAStartup(MAKEWORD(2,2),wsaData); char HostName[128]; BOOL bRet; bRet = gethostname(HostName, 128); if( bRet!= 0 ){ MessageBox(获取计算机名错误!,提示); return; } CString strMeg = HostName; strMeg = 本机的计算机名是: + strMeg; m_show.InsertString(-1,strMeg); WSACleanup(); 获取本机IP地址的源代码 WSADATA wsaData; WSAStartup(MAKEWORD(2,2),wsaData); char HostName[128]; struct hostent* pHost; gethostname(HostName, 128); pHost = gethostbyname(HostName); int i=0; CString strIP; while(pHost-h_addr_list[i] != NULL) { strIP = inet_ntoa(*(struct in_addr *)pHost- h_addr_list[i]); CString str=本机的IP地址: + strIP; m_show.InsertString(-1,str); i++; } WSACleanup(); 代码详解——gethostname函数 该函数可以获取本地主机名,若无错误,返回0;否则,返回SOCKET_ERROR。 gethostname (char* name, int namelen); 参数name:用于指向所获取本地主机名的缓冲区地址。 参数namelen:缓冲区的大小,以字节示。 代码详解——gethostbyname函数 该函数可以从主机名数据库中得到对应的“主机”(由名字和地址标识)。若无错误,函数返回一个指向hostent结构的指针,它可标识一个“主机”列表。 struct hostent * FAR gethostbyname( const char* name ); 参数name:是主机名。 读注册表 获取本机的操作系统信息和CPU信息需要查询注册表,从注册表中读出所需要的信息,然后显示到界面上。 什么是注册表? 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。 注册表由键(或称“项”)、子键(子项)和值项构成。 一个键就是分支中的一个文件夹,而子键就是这个文件夹中的子文件夹,子键同样是一个键。一个值项则是一个键的当前定义,由名称、数据类型以及分配的值组成。 一个键可以有一个或多个值,每个值的名称各不相同,如果一个值的名称为空,则该值为该键的默认值。 查看注册表 “开始”—〉“运行”中输入regedit命令,然后回车,会弹出注册表编辑器界面 操作注册表的流程 操作注册表 使用CRegKey类 CRegKey类提供的几个重要函数: Open函数——打开注册表 QueryValue函数——读注册表 SetValue函数——写注册表 Close函数——关闭注册表 代码详解——Open函数 打开注册表中的主键。若成功,返回ERROR_SUCCESS,失败则返回错误值。 LONG Open( HKEY hKeyParent, LPCTSTR lpszKeyName, REGSAM samDesired = KEY_ALL_ACCESS ); 参数hKeyParent:需打开的键的句柄。 参数lpszKeyName:需打开的键所在的注册表的路径。 参数samDesired:注册表访问的权限,默认值为KEY_ALL_ACCESS。 代码详解——QueryValue函数 读取注册表中键值项的键值,若成功,返回ERROR_SUCCESS,失败则返回错误值。 LONG Que
您可能关注的文档
- Visual C#2005数据库开发案例教程 教学课件 作者 李志云 第9章.ppt
- Visual C#2005数据库开发案例教程 教学课件 作者 李志云 第10章.ppt
- Visual C#程序设计教程 教学课件 作者 刘先省 陈克坚 第1章 程序设计语言与程序设计方法.ppt
- Visual C#程序设计教程 教学课件 作者 刘先省 陈克坚 第3章 C Sharp语法基础.ppt
- Visual C#程序设计教程 教学课件 作者 刘先省 陈克坚 第4章 顺序结构程序设计.ppt
- Visual C#程序设计教程 教学课件 作者 刘先省 陈克坚 第5章 选择结构程序设计.ppt
- Visual C#程序设计教程 教学课件 作者 刘先省 陈克坚 第6章 循环结构程序设计.ppt
- Visual C#程序设计教程 教学课件 作者 刘先省 陈克坚 第7章 面向对象编程技术.ppt
- Visual C#程序设计教程 教学课件 作者 刘先省 陈克坚 第8章 继承.ppt
- Visual C#程序设计教程 教学课件 作者 刘先省 陈克坚 第9章 数组与自定义类型.ppt
文档评论(0)