工控编程吧
标题:
上位机MFC端口扫描器源代码
[打印本页]
作者:
qq263946146
时间:
2019-7-16 16:40
标题:
上位机MFC端口扫描器源代码
在网编方面编程时,经常会涉及IP,端口方面的处理。
这进而分享一端口扫描器的实例源代码,
效果如下图
(, 下载次数: 0)
上传
点击文件名下载附件
赶写IP地址,端口范围后,点击开始 扫描,会将结果显示在列表控件上。
点击按钮时,开启一线程函数
threadA
void CMy3434sDlg::OnButton1()
{
m_List.ResetContent();
GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);
UpdateData(TRUE);
HANDLE hCounter=NULL;
if( (hCounter=OpenMutex(MUTEX_ALL_ACCESS,FALSE,"sam sp 44"))==NULL)
{
//如果没有其他进程创建这个互斥量,则重新创建
hCounter = CreateMutex(NULL,FALSE,"sam sp 44");
}
int v;
if(m_Eport==m_Sport)
v=1;
else{
v=(m_Eport-m_Sport)/100;
if(((m_Eport-m_Sport)%100)>0)
v++;
}
HANDLE hThread[100];
CWinThread *pT[100];
m_thread.m_hwnd=this->m_hWnd;
m_thread.m_IP=m_IP;
iCounter=m_Sport;
//创建线程
for(int i=0;i<v;i++){
int a=0;
for(int k=0;k<100;k++)
{
a++;
if(iCounter>=m_Eport)
break;
pT[k]=AfxBeginThread((AFX_THREADPROC)threadA,&m_thread);
// iCounter++;
hThread[k]=pT[k]->m_hThread;
// Sleep(100);
// break;
}
WaitForMultipleObjects(a,hThread,TRUE,INFINITE);
// MessageBox("a");
//等待线程结束
}
//关闭句柄
CloseHandle(hCounter);
GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);
}
复制代码
具体实现原理,可以下载源代码参考
(, 下载次数: 0)
上传
点击文件名下载附件
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4