资源简介
一个关于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密码破解
相关资源
- Windows异步套接字网络编程
- VC 获得文件属性 获取文件的创建时
- 基于MVC模式的会员管理系统
- silicon lab公司的收音IC SI47XX全套开发工
- 读者写者问题(读者优先,写者优先
- MFC程序-碰撞的小球
- vc 柱形图 CBarChart
- HOOK小工具(进程、窗口、全局)
- 用vc 写的导线测量,针对刚学测绘的
- 用VC 编写的仿QQ聊天室程序源代码
- 栅栏填充算法源码(VC)
- 简单的房屋租赁系统
- .net网站服装销售系统(MVC)
-
ob
jectARX给Auto CAD加工具条 - blowfish的vc2008工程.rar
- 画图程序MFC/VC/VC CRectTracker 串行化
- capon波束形成算法-VC实现
- 读取串口数据并画实时曲线的VC 程序
- VC 游戏编程—附源代码
- IpHlpApi.h&IpHlpApi.lib
- HOOK 记录和模拟 Keyboard Mouse
- vc 6.0开发的流程图编辑器
- VC 天空盒(skyBox)实现(附源代码)
- c MFC 画多边形
- keil vcom windows 7 64bit 驱动
- vc URL编解码类
- vc编写中国象棋详细源码注释并附有视
- VC 围棋源代码
- 用VC 编写的基于SNMP的路由器拓扑程序
- vc利用MFC底层开发的二维GIS管理软件,
评论
共有 条评论