QQ登录

只需一步,快速开始

330上位机VC MFC获得电脑打开的端口和状态

[ 复制链接 ]

330上位机VC MFC获得电脑打开的端口和状态

330上位机VC MFC获得电脑打开的端口和状态

获得打开的端口和状态
功能展示
通讯中的电脑在传递数据时都会打开一个端口,这个端口就是与其他电脑通讯的通道。电脑上已打开的端口不是固定的,我们当前例程实现罗列出电脑已打开的端口及端口的相关信息,效果如图,点击<检测端口>执行的结果就是罗列在列表框中且将检测的结果存入C盘的port.txt文件内;

要点提示
例程通过WinExec()执行DOS SHELL的netstat命令,获得系统中的网络端口信息;
函数原型UINT WinExec( LPCSTR lpCmdLine, UINT uCmdShow );
lpCmdLine String,包含要执行的命令行
nCmdShow Long,定义了以怎样的形式启动程序的常数值。参考ShowWindow函数的nCmdShow参数
调用NETSTAT命令时可以使用重定向功能,将结果存到一文件中,然后在程序中打开此文件,读取信息,就能够获取与显示端口号及相关信息了;
动画的播放我们可以使用MFC类库中的CAnimateCtrl控件,方便快速。该类的主要方法有
Open()方法,此函数用于播放AVI文件,在播放AVI动画前,首先得打开一个AVI文件,OPEN()语法如下
BOOL Open( LPCTSTR lpszFileName ); lpszFileName 为标识 AVI文件名称; BOOL Open( UINT nID ); nID 标识AVI资源ID
播放AVI时用PLAY,语法如下BOOL Play( UINT nFrom, UINT nTo, UINT nRep ); nFrom帧的起始位置,nTo,帧的终止位置,nRep循环资源,-1为始终循环播放;
其他更多方法,可以查阅MSDN;
要注意的是CAnimateCtrl只能播放没有声音的AVI文件,如果播放有声音的AVI,得使用微软公司的ActiveX插件:CAnimation,.

实现功能
1.新建基于对话框的应用程序
2.依照例程界面添加按钮<检测端口>列表框IDC_LIST1,关联按钮的点击函数
#include<io.h>
void CGkbc8Dlg::OnCheck()
{
CListCtrl*pListCtrl =(CListCtrl*)GetDlgItem(IDC_LIST1);
pListCtrl->ModifyStyle(0,LVS_LIST,0);
pListCtrl->DeleteAllItems();

//<>
char buffer[100];
GetWindowsDirectory(buffer,100);
strcat(buffer,"\\system32\\netstat -a -n > c:\\port.txt");
CString strPath;
strPath.Format("Command.com /c %s",buffer);
WinExec(strPath,SW_HIDE);//"Command.com /c netstat -a -n > c:\\port.txt"
while(_access("c:\\port.txt",02)==-1);//直到可写
while(_access("c:\\port.txt",04)==-1);//直到可读
Sleep(1000);
CString str="";
CStdioFile file("c:\\port.txt",CFile::modeRead);

while(NULL!=file.ReadString(str))
{
pListCtrl->InsertItem(0,str);
}/**/
}
我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:330.上位机VC MFC获得电脑打开的端口和状态.zip 
文件大小:135.83 KB  售价:11金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!




回复

使用道具 举报

快速回复 返回列表 客服中心 搜索