主要的界面如下:

主要代碼如下:
typedef CString strIP;
UINT uPort;
BOOL bNoOrder;
CPortScan_TCPDlg *ptr;
HTREEITEM TreeItem;
}THREADPARAM;
THREADPARAM *threadparam = (THREADPARAM* CString strIP = threadparam-> UINT uPort = threadparam-> CPortScan_TCPDlg *ptr = threadparam-> HTREEITEM TreeItem = threadparam-> BOOL bNoOrder = threadparam->
g_iTotalThreadCount++ Sleep(rand() %
SOCKET sock = - sock = socket(AF_INET, SOCK_STREAM, (sock ==
iTimeOut = (SOCKET_ERROR == setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, (TCHAR*)&iTimeOut, g_iTotalThreadCount-- iTimeOut = (SOCKET_ERROR == setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (TCHAR*)&iTimeOut, g_iTotalThreadCount--
addr_remote.sin_family = addr_remote.sin_addr.S_un.S_addr = addr_remote.sin_port = ( != connect(sock, (PSOCKADDR)&addr_remote, g_iTotalThreadCount--
(uPort < servent * se = getservbyport(htons(uPort), _T( (se != strTemp.Format(_T(), uPort, se->
strTemp.Format(_T(
strTemp.Format(_T(), uPort, ptr-> ptr->m_wndTreeResult.InsertItem(strTemp, ,
shutdown(sock, g_iTotalThreadCount-- }
:strRet = _T(); :strRet = _T(); :strRet = _T(); :strRet = _T(); :strRet = _T(); :strRet = _T(); :strRet = _T(); :strRet = _T(); :strRet = _T(); :strRet = _T(); :strRet = _T();
:strRet = _T(); :strRet = _T(); :strRet = _T(); }
下載地址見後續博文。