Visual_C++网络编程技术-06.ppt
《Visual_C++网络编程技术-06.ppt》由会员分享,可在线阅读,更多相关《Visual_C++网络编程技术-06.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、查询本地计算机配置查询本地计算机配置授课教师:授课教师:网络编程网络编程网络编程技术网络编程技术导入导入v内联网经常用在企业的局域网并使用分布式的应内联网经常用在企业的局域网并使用分布式的应用程序,而分布式的应用程序宿主是本地计算机,用程序,而分布式的应用程序宿主是本地计算机,如何正确地获得本地计算机的网络协议及配置信如何正确地获得本地计算机的网络协议及配置信息,对于更深入地编写网络应用程序是一件很重息,对于更深入地编写网络应用程序是一件很重要的事。要的事。网络编程技术网络编程技术本章要点本章要点v获取主机名和获取主机名和IP地址地址v读取注册表读取注册表v查询本机网卡地址查询本机网卡地址v查
2、询本机子网掩码查询本机子网掩码v查询本机网关查询本机网关v查询本机查询本机DNS设置设置网络编程技术网络编程技术功能需求分析功能需求分析 v开发一个简单的查询工具,可以查询本机的基本开发一个简单的查询工具,可以查询本机的基本软硬件配置,本机的基本网络配置软硬件配置,本机的基本网络配置,包括:包括:v计算机名计算机名vIP地址地址v操作系统操作系统vCPUv网卡地址网卡地址v子网掩码子网掩码vDNS服务器服务器v网关网关网络编程技术网络编程技术界面界面设计网络编程技术网络编程技术获取主机名和获取主机名和IP地址地址 v程序运行界面程序运行界面网络编程技术网络编程技术获取本机计算机名源代码获取本机
3、计算机名源代码vWSADATA wsaData;vWSAStartup(MAKEWORD(2,2),&wsaData);vchar HostName128;vBOOL bRet;vbRet=gethostname(HostName,128);vif(bRet!=0)vMessageBox(获取取计算机名算机名错误!,提示提示);vreturn;vvCString strMeg=HostName;vstrMeg=本机的本机的计算机名是:算机名是:+strMeg;vm_show.InsertString(-1,strMeg);vWSACleanup();网络编程技术网络编程技术获取本机获取本机IP
4、地址的源代码地址的源代码 vWSADATA wsaData;vWSAStartup(MAKEWORD(2,2),&wsaData);vchar HostName128;vstruct hostent*pHost;vgethostname(HostName,128);vpHost=gethostbyname(HostName);vint i=0;vCString strIP;vwhile(pHost-h_addr_listi!=NULL)v vstrIP=inet_ntoa(*(struct in_addr*)pHost-h_addr_listi);vCString str=本机的本机的IP地址
5、:地址:+strIP;vm_show.InsertString(-1,str);vi+;vvWSACleanup();网络编程技术网络编程技术代代码详解解gethostname函数函数v该函数可以获取本地主机名,若无错误,返回该函数可以获取本地主机名,若无错误,返回0;否则,返回否则,返回SOCKET_ERROR。vgethostname(char*name,int namelen);v参数参数name:用于指向所获取本地主机名的缓冲:用于指向所获取本地主机名的缓冲区地址。区地址。v参数参数namelen:缓冲区的大小,以字节示。:缓冲区的大小,以字节示。网络编程技术网络编程技术代代码详解解g
6、ethostbyname函数函数v该函数可以从主机名数据库中得到对应的该函数可以从主机名数据库中得到对应的“主机主机”(由名字和地址标识由名字和地址标识)。若无错误,函数返回一。若无错误,函数返回一个指向个指向hostent结构的指针,它可标识一个结构的指针,它可标识一个“主主机机”列表。列表。vstruct hostent*FAR gethostbyname(const char*name);v参数参数name:是主机名。:是主机名。网络编程技术网络编程技术读注册表注册表v获取本机的操作系统信息和获取本机的操作系统信息和CPU信息需要查询注信息需要查询注册表,从注册表中读出所需要的信息,然后
7、显示册表,从注册表中读出所需要的信息,然后显示到界面上到界面上。网络编程技术网络编程技术什么是注册表?什么是注册表?v注册表是注册表是Windows程序员建造的一个复杂的信程序员建造的一个复杂的信息数据库,它是多层次式的。息数据库,它是多层次式的。v注册表由键(或称注册表由键(或称“项项”)、子键(子项)和值)、子键(子项)和值项构成。项构成。v一个键就是分支中的一个文件夹,而子键就是这一个键就是分支中的一个文件夹,而子键就是这个文件夹中的子文件夹,子键同样是一个键。一个文件夹中的子文件夹,子键同样是一个键。一个值项则是一个键的当前定义,由名称、数据类个值项则是一个键的当前定义,由名称、数据类
8、型以及分配的值组成。型以及分配的值组成。v一个键可以有一个或多个值,每个值的名称各不一个键可以有一个或多个值,每个值的名称各不相同,如果一个值的名称为空,则该值为该键的相同,如果一个值的名称为空,则该值为该键的默认值。默认值。网络编程技术网络编程技术查看注册表查看注册表v“开始开始”“运行运行”中输入中输入regedit命令,命令,然后回车,会弹出注册表编辑器界面然后回车,会弹出注册表编辑器界面 网络编程技术网络编程技术操作注册表的流程操作注册表的流程 网络编程技术网络编程技术操作注册表操作注册表 使用使用CRegKey类 CRegKey类提供的几个重要函数:提供的几个重要函数:vOpen函数
9、函数打开注册表打开注册表vQueryValue函数函数读注册表注册表vSetValue函数函数写注册表写注册表vClose函数函数关关闭注册表注册表网络编程技术网络编程技术代代码详解解Open函数函数v打开注册表中的主键。若成功,返回打开注册表中的主键。若成功,返回ERROR_SUCCESS,失败则返回错误值。,失败则返回错误值。vLONG Open(HKEY hKeyParent,LPCTSTR lpszKeyName,REGSAM samDesired=KEY_ALL_ACCESS);v参数参数hKeyParent:需打开的键的句柄。:需打开的键的句柄。v参数参数lpszKeyName:需
10、打开的键所在的注册表:需打开的键所在的注册表的路径。的路径。v参数参数samDesired:注册表访问的权限,默认值:注册表访问的权限,默认值为为KEY_ALL_ACCESS。网络编程技术网络编程技术代代码详解解QueryValue函数函数v读取注册表中键值项的键值,若成功,返回读取注册表中键值项的键值,若成功,返回ERROR_SUCCESS,失败则返回错误值。,失败则返回错误值。vLONG QueryValue(DWORD&dwValue,LPCTSTR lpszValueName);v参数参数dwValue:DWORD数据类型的键值。数据类型的键值。v参数参数lpszValueName:所
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Visual_C 网络 编程 技术 06
限制150内