资源简介
一个关于VC实现拦截数据包的例子,可以作为网络开发使用!!
代码片段和文件信息
////////////////////////////////////////////
// EnumProcessDlg.cpp文件
#include “EnumProcessDlg.h“
#include “resource.h“
#include
CEnumProcessDlg::CEnumProcessDlg(CWnd* pParentWnd):CDialog(IDD_ENUMDIALOG pParentWnd)
{
}
BOOL CEnumProcessDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 取得列表视图子窗口的控制权
m_listPro.SubclassWindow(::GetDlgItem(m_hWnd IDC_PROLIST));
// 设置属性
m_listPro.SetExtendedstyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_listPro.InsertColumn(0 “进程“ LVCFMT_LEFT 120);
m_listPro.InsertColumn(1 “Pid“ LVCFMT_LEFT 70);
// 更新进程列表
UpdateProcess();
return FALSE;
}
void CEnumProcessDlg::OnOK()
{
// 取得当前选中项目的索引
int nCur = m_listPro.GetNextItem(-1 LVNI_SELECTED);
if(nCur == -1)
{
MessageBox(“请选择要打开的进程“);
}
else
{
// 设置线程ID
m_dwThreadId = (DWORD)m_listPro.GetItemData(nCur);
// 设置进程ID
char sz[32] = ““;
m_listPro.GetItemText(nCur 1 sz 31);
m_dwProcessId = (DWORD)atoi(sz);
// 关闭对话框,返回IDOK
CDialog::OnOK();
}
}
void CEnumProcessDlg::UpdateProcess()
{
// 删除所有的项
m_listPro.DeleteAllItems();
int nItem = 0; // 项计数
PROCESSENTRY32 pe32 = { sizeof(PROCESSENTRY32) };
HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS 0);
if(hProcessSnap == INVALID_HANDLE_VALUE)
return;
if(::Process32First(hProcessSnap &pe32))
{
do
{
// 插入新项
m_listPro.InsertItem(nItem pe32.szExeFile 0);
// 取得进程ID,设置此项的文本
char szID[56];
wsprintf(szID “%u“ pe32.th32ProcessID);
m_listPro.SetItemText(nItem 1 szID);
// 下面的代码将遍历系统内的所有线程,以便找到此进程的主线程
HANDLE hThreadSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD 0);
THREADENTRY32 te32 = { sizeof(te32) };
if(::Thread32First(hThreadSnap &te32))
{
do
{
if(te32.th32OwnerProcessID == pe32.th32ProcessID)
{
// 找到主线程ID号,关联它到当前项
m_listPro.SetItemData(nItem te32.th32ThreadID);
break;
}
}
while(::Thread32Next(hThreadSnap &te32));
}
::CloseHandle(hThreadSnap);
nItem++;
}
while(::Process32Next(hProcessSnap &pe32));
}
::CloseHandle(hProcessSnap);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4123 2005-01-30 22:26 10IPPack\10IPPack.dsp
文件 539 2004-12-08 19:23 10IPPack\10IPPack.dsw
文件 40960 2004-12-11 00:42 10IPPack\10IPPackLib.dll
文件 2317 2004-12-11 10:27 10IPPack\EnumProcessDlg.cpp
文件 472 2004-12-11 00:48 10IPPack\EnumProcessDlg.h
文件 8519 2005-01-19 14:25 10IPPack\IPPack.cpp
文件 1260 2004-12-11 11:28 10IPPack\IPPack.h
文件 1078 2004-12-08 19:31 10IPPack\IPPack.ico
文件 3752 2004-12-10 12:43 10IPPack\IPPack.rc
文件 413 2004-12-09 19:27 10IPPack\IPPackLib.h
目录 0 2005-11-25 11:20 10IPPack\Release
文件 1005 2004-12-09 23:22 10IPPack\resource.h
文件 1826 2005-01-30 10:47 10IPPack\ShareMemory.h
目录 0 2005-11-25 11:20 10IPPack
文件 4379 2004-12-09 00:03 10IPPackLib\10IPPackLib.dsp
文件 545 2004-12-08 23:15 10IPPackLib\10IPPackLib.dsw
文件 6924 2005-01-30 10:47 10IPPackLib\IPPackLib.cpp
文件 67 2004-10-27 15:09 10IPPackLib\IPPackLib.def
文件 544 2004-12-10 21:14 10IPPackLib\IPPackLib.h
目录 0 2005-11-25 11:20 10IPPackLib\Release
文件 1826 2005-01-30 10:47 10IPPackLib\ShareMemory.h
文件 2126 2005-01-30 10:47 10IPPackLib\ULHook.cpp
文件 514 2005-01-12 21:43 10IPPackLib\ULHook.h
目录 0 2005-11-25 11:20 10IPPackLib
文件 56 2007-02-22 17:23 QQ联系我.txt
----------- --------- ---------- ----- ----
83245 25
- 上一篇:ECI惯性坐标系转ECEF地心地固坐标系
- 下一篇:Mdb密码破解Mdb密码破解
相关资源
- ge VC opc server
- vc 内存中加载运行exe
- VC ++ Gzip解压缩代码
- 图像识别vc代码,验证码识别
- TMS320VC5509TMS320VC5509电路原理图--Altiu
- CAPIHook类代码
- 使用log算子实现的图像边缘检测
- Easyui+MVC动态生成按钮管理权限
- Hook API 工具 + 源代码
- VC读取数据库数据并绘曲线图.rar
- webservice
- maven 生成 springmvc+jpa web过程demo
- Pcm声音波形显示用vc实现的很有用啊
- msvcr100d.dll(包括32位和64位两个版本)
- STM32F103VCT6设计
- vSphere6、vCenterServer6许可证生成器(打
- VC操作word小常识
- vc学生管理系统完整代码.doc
- 遥感图像NDVI植被指数源码vc
- 遥感图像的监督分类算法贝叶斯分类
- VC读取JPG的EXIF信息的一个类
- spring3 mvc+mybatis+velocity+maven
- VCS使用教程
- springMVC取后台数据做Echarts报表
- 运动目标检测源代码opencv
- vc使用带滚动条的图片控件
- VC按钮ButtonST
- 大学生就业信息网源码
- nvcc编译器配置——实用详细步骤
- Plupload 上传.net MVC 上传
评论
共有 条评论