www.pudn.com > remoteControl.zip > queryipDlg.cpp
// queryipDlg.cpp : implementation file
//
#include "stdafx.h"
#include "queryip.h"
#include "queryipDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CQueryipDlg dialog
CQueryipDlg::CQueryipDlg(CWnd* pParent /*=NULL*/)
: CDialog(CQueryipDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CQueryipDlg)
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CQueryipDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CQueryipDlg)
DDX_Control(pDX, IDC_LIST1, m_List);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CQueryipDlg, CDialog)
//{{AFX_MSG_MAP(CQueryipDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CQueryipDlg message handlers
BOOL CQueryipDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
}
// If you add a minimize button to your dialog, you will need the code below
// to draw the icon. For MFC applications using the document/view model,
// this is automatically done for you by the framework.
void CQueryipDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
// The system calls this to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CQueryipDlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}
void CQueryipDlg::OnOK()
{
// TODO: Add extra validation here
int i;
WSAData wsaData;
DWORD Addr;
char ip_temp1[15];
char ip_temp2[3];
WSAStartup(MAKEWORD(1, 1), &wsaData);
for(i = 1; i< 255; i++)
{
//使用 i:=1 to 254 do begin...end即可自动搜索地址
//要知道这个IP地址是否中镖,可向它发一个字符串。
//如果接收到这个IP返回来的预定的字符串,如发出"我是长江",返回"我是黄河",
//就可以控制这个IP地址了
strcpy(ip_temp1,"192.168.0.");
_itoa(i,ip_temp2,10);
strcat(ip_temp1,ip_temp2);
Addr = inet_addr(ip_temp1);
if( gethostbyaddr((char *)&Addr,sizeof(Addr),PF_INET))
m_List.AddString(ip_temp1);
}
WSACleanup();
}