Windows黑客编程基础

来源: 作者: 2007-10-24 出处:pcdog.com

java  linux  qq  sas  win98  
上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 下一页 

  加载好文件之后,就可以在CheckIP.cpp文件里加入以下代码了:

  //-------Begin from ------------
//包含需要使用的头文件
#include "stdafx.h"
#include "windows.h"
#include
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
void CheckIP(void) //定义CheckIP()函数,用于获取本机IP地址
{
WORD wVersionRequested;// WORD类型变量,用于存放Winsock版本的正确值
WSADATA wsaData;
char name[255];//定义用于存放获得的主机名的变量
CString ip;//定义IP地址变量
PHOSTENT hostinfo;
wVersionRequested = MAKEWORD( 2, 0 );
//调用MAKEWORD()获得Winsock版本的正确值,用于下面的加载Winsock库
if ( WSAStartup( wVersionRequested, &wsaData ) == 0 ) {
//现在是加载Winsock库,如果WSAStartup()函数返回值为0,说明加载成功,程序可以继续往下执行
if( gethostname ( name, sizeof(name)) == 0) {
//如果成功地将本地主机名存放入由name参数指定的缓冲区中
if((hostinfo = gethostbyname(name)) != NULL) {
//这是获取主机名,如果获得主机名成功的话,将返回一个指针,指向hostinfo,hostinfo为PHOSTENT型的变量,下面即将用到这个结构体
LPCSTR ip = inet_ntoa (*(struct in_addr *)*hostinfo-〉h_addr_list);
//调用inet_ntoa()函数,将hostinfo结构变量中的h_addr_list转化为标准的点分表示的IP地址(如192.168.0.1)
printf("%s
",ip);//输出IP地址 } }
WSACleanup( );//卸载Winsock库,并释放所有资源 } }
int main(int argc, char* argv[])//主函数,程序的入口
{
CheckIP();//调用CheckIP()函数获得、输出IP地址
return 0;//由于main()定义为int型,所以应带回一个int型的数值
}

  下面接着来看看在C++ Builder 下如何实现,其实两者的思想是一样的,只是在C++ Builder下实现的界面友好点而已,实现方法:打开C++ Builder 5,默认情况下已经新建一个工程,保存这个工程文件就可以了,在相应之处添入下面的代码即可。


更多内容请看PCdog.com--Windows操作系统安装  Windows常见故障排除  Windows远程桌面的应用专题
上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 下一页 
上一篇:用Windows自带工具打造“免检”木马
下一篇:Windows系统中小零碎 教你如何卸载