AddHeader(LPTSTR hdr)
{
if (m_pColumns)
m_pColumns->AddTail(hdr);
}
//显示列表框标题栏
void CPortScanDlg::ShowHeaders()
{
int nIndex = 0;
POSITION pos = m_pColumns->GetHeadPosition();
while(pos)
{
CString hdr = (CString)m_pColumns->GetNext(pos);
AddColumn(hdr,nIndex++);
}
}
//单击“扫描单个端口”单选按钮
void CPortScanDlg::OnRadioSingle()
{
m_bSinglePort = TRUE;
m_cSinglePort.EnableWindow();
m_cPortFrom.EnableWindow(FALSE);
m_cPortTo.EnableWindow(FALSE);
}
//单击“扫描多个端口”单选按钮
void CPortScanDlg::OnRadioRange()
{
m_bSinglePort = FALSE;
m_cSinglePort.EnableWindow(FALSE);
m_cPortFrom.EnableWindow();
m_cPortTo.EnableWindow();
m_cBtnStop.EnableWindow(FALSE);
}
//开始扫描
void CPortScanDlg::OnButtonScan()
{
CString btnTxt,IP;
UINT nSinglePort;
BYTE f1,f2,f3,f4;
TCHAR temp[10] = "\0";
m_cResult.DeleteAllItems();//清空列表框
//清空扫描结果链表
POSITION p = m_pStatusList->GetHeadPosition();
while (p)
{
POSITION temp = p;
DATA* pNode = (DATA*)m_pStatusList->GetNext(p);
m_pStatusList->RemoveAt(temp);
if (pNode)
delete pNode;
}
//如果输入没有主机地址
if (m_cIP.IsBlank()||m_cIP.GetAddress(f1,f2,f3,f4)<4)
{
AfxMessageBox("请输入正确的IP地址");
return;
}
//获得IP字符串
IP = _itoa(f1,temp,10);
IP += _T('.');
IP += _itoa(f2,temp,10);
IP += _T('.');
IP += _itoa(f3,temp,10);
IP += _T('.');
IP += _itoa(f4,temp,10);
m_cBtnStop.EnableWindow(true);//停止按钮生效
m_cBtnScan.EnableWindow(FALSE);//扫描按钮无效
if (m_bSinglePort)//扫描单个端口
{
CString port;
m_cSinglePort.GetWindowTex
上一篇:
UNPOSND.PAS
下一篇:
小学英语作文:讨厌的蟑螂(双语)