<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zy122的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/zy122</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; zy122]]></copyright><item><title><![CDATA[Windows 下的进程间通讯及数据共享]]></title><link>https://blog.csdn.net/zy122/article/details/1491192</link><guid>https://blog.csdn.net/zy122/article/details/1491192</guid><author>zy122</author><pubDate>Tue, 23 Jan 2007 15:11:00 +0800</pubDate><description><![CDATA[Windows 下有很多方法实现进程间通讯，比如用 socket，管道(Pipe)，信箱(Mailslot)，等等。但最基本最直接的还是使用内存共享。其他方法最终还是会绕道这里。 可想而知，如果物理内存只有一份，让这份内存在不同的进程中，映射到各自的虚拟地址空间上，每个进程都可以读取同一份数据，是一种最高效的数据交换方法。下面我们就讨论如何实现它。 共享内存在 Windows 中是用 FileMa]]></description><category></category></item><item><title><![CDATA[VC 中进程与多进程管理的方法 ]]></title><link>https://blog.csdn.net/zy122/article/details/1490813</link><guid>https://blog.csdn.net/zy122/article/details/1490813</guid><author>zy122</author><pubDate>Tue, 23 Jan 2007 11:05:00 +0800</pubDate><description><![CDATA[　　进程是当前操作系统下一个被加载到内存的、正在运行的应用程序的实例。每一个进程都是由内核对象和地址空间所组成的，内核对象可以让系统在其内存放有关进程的统计信息并使系统能够以此来管理进程，而地址空间则包括了所有程序模块的代码和数据以及线程堆栈、堆分配空间等动态分配的空间。进程仅仅是一个存在，是不能独自完成任何操作的，必须拥有至少一个在其环境下运行的线程，并由其负责执行在进程地址空间内的代码。在进程]]></description><category></category></item><item><title><![CDATA[如何获取线程关联用户名和域名]]></title><link>https://blog.csdn.net/zy122/article/details/1490013</link><guid>https://blog.csdn.net/zy122/article/details/1490013</guid><author>zy122</author><pubDate>Mon, 22 Jan 2007 14:00:00 +0800</pubDate><description><![CDATA[在Windows NT/2000/XP上编写程序时，有时会需要我们获取与当前调用线程关联的用户名和域名(domain)，本文下面将示范在Windows NT/2000/XP环境里如何使用Win32 API有关安全的函数来获取用户名和域名。 在Windows NT之前，一般都假设某个线程是运行在登录用户的帐号之下。但Windows NT问世以后，允许线程可以在多个安全上下文中运行，言下之意就是一个线]]></description><category></category></item><item><title><![CDATA[剖析Windows任务管理器开发原理与实现]]></title><link>https://blog.csdn.net/zy122/article/details/1489813</link><guid>https://blog.csdn.net/zy122/article/details/1489813</guid><author>zy122</author><pubDate>Mon, 22 Jan 2007 11:31:00 +0800</pubDate><description><![CDATA[Windows2000/XP内含的任务管理器(Taskmgr)相信大家都熟悉吧，相比之下XP里的要比2000功能更加强大，返回的信息也更加的详细，不过您是否觉得还有很多希望获得的消息没有包含在里面吗？您是否觉得Windows的系统管理工具箱里的东西太分散了吗？下面就让我们看看它们的开发原理，并动手实现一个真正的任务管理器。现在我们是调用Win32API来实现这些功能的，但是大家都说MS隐藏了太多的]]></description><category></category></item><item><title><![CDATA[四种方法实现VC枚举系统当前进程 ]]></title><link>https://blog.csdn.net/zy122/article/details/1489794</link><guid>https://blog.csdn.net/zy122/article/details/1489794</guid><author>zy122</author><pubDate>Mon, 22 Jan 2007 11:17:00 +0800</pubDate><description><![CDATA[四种方法实现VC枚举系统当前进程 在Windows 2000以上的MS操作系统，通过Windows的任务管理器可以列出当前系统的所有活动进程（如图1所示），在Windows XP中，更是在控制台下增加了一条Tasklist命令，让系统下的所有进程无所遁行（如图2所示）。这一切是怎么实现的呢？ 引用侯捷大师在《深入浅出MFC》的一句话，“知其然而不知其所以然，真不是个好办法”。既然如此，我们干脆自己]]></description><category></category></item><item><title><![CDATA[关闭计算机就这几招]]></title><link>https://blog.csdn.net/zy122/article/details/1487768</link><guid>https://blog.csdn.net/zy122/article/details/1487768</guid><author>zy122</author><pubDate>Fri, 19 Jan 2007 15:58:00 +0800</pubDate><description><![CDATA[关闭计算机就这几招 注：完全翻译整理自MSDN。非常简单. Vcbear. “系统ShutDown”属于Windows系统的一种基本服务。功能上有“关闭系统”，“注销用户”，“锁定工作站”3中操作。SDK中提供了几个函数，来对此服务进行调用。 “关闭系统”功能使计算机可以被安全的关闭。所有在文件系统里缓冲的内容都被强制写入磁盘。然后，显示相应的对话框，提示用户计算机将被关闭或者已经准备好被关闭。可]]></description><category></category></item><item><title><![CDATA[获到网卡MAC地址]]></title><link>https://blog.csdn.net/zy122/article/details/1487710</link><guid>https://blog.csdn.net/zy122/article/details/1487710</guid><author>zy122</author><pubDate>Fri, 19 Jan 2007 15:23:00 +0800</pubDate><description><![CDATA[CString GetMacAddress() { PIP_ADAPTER_INFO pinfo = NULL; unsigned long len = 0; unsigned long nError; nError = GetAdaptersInfo(pinfo,&len); if (nError == 0) { if (pinfo != NULL) { CString temp; temp.F]]></description><category></category></item><item><title><![CDATA[链表的C语言实现之循环链表及双向链表]]></title><link>https://blog.csdn.net/zy122/article/details/1483646</link><guid>https://blog.csdn.net/zy122/article/details/1483646</guid><author>zy122</author><pubDate>Mon, 15 Jan 2007 16:08:00 +0800</pubDate><description><![CDATA[　　一、循环链表 　　循环链表是与单链表一样，是一种链式的存储结构，所不同的是，循环链表的最后一个结点的指针是指向该循环链表的第一个结点或者表头结点，从而构成一个环形的链。 　　循环链表的运算与单链表的运算基本一致。所不同的有以下几点： 　　1、在建立一个循环链表时，必须使其最后一个结点的指针指向表头结点，而不是象单链表那样置为NULL。此种情况还使用于在最后一个结点后插入一个新的结点。 　　2、]]></description><category></category></item><item><title><![CDATA[原始套接字伪造发包]]></title><link>https://blog.csdn.net/zy122/article/details/1479255</link><guid>https://blog.csdn.net/zy122/article/details/1479255</guid><author>zy122</author><pubDate>Wed, 10 Jan 2007 16:01:00 +0800</pubDate><description><![CDATA[源代码如下： int TcpOptScan::send_tcp_raw( SOCKET sd, struct in_addr *srcAddr, struct in_addr *desAddr, u16 srcPort, u16 desPort, u32 seq, u32 ack, u8 flags,u16 window, u8 *options, int optlen, char *data, ]]></description><category></category></item><item><title><![CDATA[UML语言各种图形的建立步骤 ]]></title><link>https://blog.csdn.net/zy122/article/details/1477784</link><guid>https://blog.csdn.net/zy122/article/details/1477784</guid><author>zy122</author><pubDate>Tue, 09 Jan 2007 10:21:00 +0800</pubDate><description><![CDATA[1． 用例图的建立步骤： 1〉 找出系统外部的活动者和外部系统，确定系统的边界和范围。 2〉 确定每一个活动者所希望的系统行为。 3〉 把这些系统行为命名为用例。 4〉 把一些公共的系统行为分解为一批新的用例，供其它的用例引用。把一些变更的行为分解为扩展用例。 5〉 编制每一个用例的剧本。 6〉 绘制用例图。 7〉 区分主业务流和例外情况的事件流。可以把表达例外的情况的事件流的用例图画成一个单独的]]></description><category></category></item><item><title><![CDATA[在 Windows 下使用 Timer 驱动游戏]]></title><link>https://blog.csdn.net/zy122/article/details/1477322</link><guid>https://blog.csdn.net/zy122/article/details/1477322</guid><author>zy122</author><pubDate>Mon, 08 Jan 2007 16:50:00 +0800</pubDate><description><![CDATA[在 Windows 平台下写游戏，相比 console 等其它平台，最麻烦之事莫过于让游戏窗口于其它窗口良好的相处。 即使是全屏模式，其实也还是一个窗口。如果你不去跑窗口的消息循环，一个劲的刷新屏幕，我估计要被所有 Windows 用户骂死。 那么怎样让你的游戏程序做一个 Windows 下的良好公民呢？ 最简单的方法是用循环用 PeekMessage 来处理 Windows 消息，一旦消息队列为]]></description><category></category></item><item><title><![CDATA[基于SPI的数据报过滤原理与实现]]></title><link>https://blog.csdn.net/zy122/article/details/1477164</link><guid>https://blog.csdn.net/zy122/article/details/1477164</guid><author>zy122</author><pubDate>Mon, 08 Jan 2007 14:51:00 +0800</pubDate><description><![CDATA[一、个人防火墙技术概述 随着网络安全问题日益严重，广大用户对网络安全产品也越来越关注。防火墙作为一种网络安全工具，早已受到大家的青睐。在PC机上使用的个人防火墙，很大程度上成为广大网民的安全保护者。Windows下的个人防火墙都是基于对数据报的拦截技术之上。当然在具体的实现方式上它们却有很大的不同。总的来说可分为用户级和内核级数据报拦截两类。其中内核级主要是TDI过滤驱动程序，NDIS中间层过滤驱]]></description><category></category></item><item><title><![CDATA[Windows 2000下的Raw Socket编程]]></title><link>https://blog.csdn.net/zy122/article/details/1474473</link><guid>https://blog.csdn.net/zy122/article/details/1474473</guid><author>zy122</author><pubDate>Fri, 05 Jan 2007 10:52:00 +0800</pubDate><description><![CDATA[Windows2000在TCP/IP协议组件上做了很多改进，功能也有增强。比如在协议栈上的调整，增大了默认窗口大小，以及高延迟链接新算法。同时在安全性上，可应用IPSec加强安全性，比NT下有不少的改进。 Microsoft TCP/IP 组件包含“核心协议”、“服务”及两者之间的“接口”。传输驱动程序接口 (TDI) 与网络设备接口规范 (NDIS) 是公用的。 此外，还有许多用户模型应用程序的]]></description><category></category></item><item><title><![CDATA[手把手教你玩转SOCKET模型之重叠I/O篇]]></title><link>https://blog.csdn.net/zy122/article/details/1474000</link><guid>https://blog.csdn.net/zy122/article/details/1474000</guid><author>zy122</author><pubDate>Thu, 04 Jan 2007 16:38:00 +0800</pubDate><description><![CDATA[前 言 其实我首先应该道歉，因为7月份的时候曾信誓旦旦的说要写一套关于SOCKET所有模型的入门文章以及配套代码，不过没想到后天竟然被美女所迷出去度假了，刚刚回来不久。。。。。。-_-b其实那些模型的配套代码我已经基本写完了，只是没写配套文字，不过我想还是先从稍微难一点的模型写起吧，因为其他模型的入门毕竟要简单一些。 不过由于也是初学者，疏漏之处还望不吝指正。 本文凝聚着笔者心血，如要转载，请指明]]></description><category></category></item><item><title><![CDATA[简单分析用SPI实现防火墙 ]]></title><link>https://blog.csdn.net/zy122/article/details/1473858</link><guid>https://blog.csdn.net/zy122/article/details/1473858</guid><author>zy122</author><pubDate>Thu, 04 Jan 2007 15:18:00 +0800</pubDate><description><![CDATA[简单分析用SPI实现防火墙 作者：snsins 如有转载，请注明并保持文章的完整 2002.12.5 -------------------------------------------------------------------------------------------------------- 本来上次写了一个简单的SPI防火墙程序（只做了IP过滤功能，包过滤功能没有去做）后，已经]]></description><category></category></item><item><title><![CDATA[使用Sniffer截获流经本机网卡的IP数据包 ]]></title><link>https://blog.csdn.net/zy122/article/details/1473854</link><guid>https://blog.csdn.net/zy122/article/details/1473854</guid><author>zy122</author><pubDate>Thu, 04 Jan 2007 15:16:00 +0800</pubDate><description><![CDATA[Win2K下的Sniffer工具源代码 详细信息  Win2K下的Sniffer源代码。 [代码性质] VC完整应用程序代码 [代码作者] zw [文件大小] 130K [更新日期] 2002-11-26 19:47:00 [下载次数] 6015 http://www.vckbase.com/code/downcode.asp?id=1692 IP包监听程序(For 9x)源代码 详细信息  IP]]></description><category></category></item><item><title><![CDATA[TCP/IP头格式 ]]></title><link>https://blog.csdn.net/zy122/article/details/1473850</link><guid>https://blog.csdn.net/zy122/article/details/1473850</guid><author>zy122</author><pubDate>Thu, 04 Jan 2007 15:14:00 +0800</pubDate><description><![CDATA[TCP/IP头格式 一、先是常用的IP头格式。 IP头格式： 版本号 (4位) IP头长度 (4位) 服务类型 (8位) 数据包长度 (16位) 标识段 (16位) 标志段 (16位) 生存时间 (8位) 传输协议 (8位) 头校验和 (16位) 发送地址 (16位) 目标地址 (16位) 选项 填充 简单说明 ============ 1. IP头长度计算所用单位为32位字, 常用来计算数据开始]]></description><category></category></item><item><title><![CDATA[利用HOOK拦截封包原理]]></title><link>https://blog.csdn.net/zy122/article/details/1473823</link><guid>https://blog.csdn.net/zy122/article/details/1473823</guid><author>zy122</author><pubDate>Thu, 04 Jan 2007 15:04:00 +0800</pubDate><description><![CDATA[截获API是个很有用的东西，比如你想分析一下别人的程序是怎样工作的。这里我介绍一下一种我自己试验通过的方法。 首先，我们必须设法把自己的代码放到目标程序的进程空间里去。Windows Hook可以帮我们实现这一点。SetWindowsHookEx的声明如下： HHOOK SetWindowsHookEx( int idHook, // hook type HOOKPROC lpfn, // hoo]]></description><category></category></item><item><title><![CDATA[ Raw Socket（原始套接字）实现Sniffer（嗅探） ]]></title><link>https://blog.csdn.net/zy122/article/details/1473688</link><guid>https://blog.csdn.net/zy122/article/details/1473688</guid><author>zy122</author><pubDate>Thu, 04 Jan 2007 13:55:00 +0800</pubDate><description><![CDATA[ Raw Socket（原始套接字）实现Sniffer（嗅探） 一. 摘要 Raw Socket: 原始套接字 可以用它来发送和接收 IP 层以上的原始数据包, 如 ICMP, TCP, UDP... int sockRaw = socket(AF_INET, SOCK_RAW, IPPROTO_RAW); 这样我们就创建了一个 Raw Socket Sniffer: 嗅探器 关于嗅探器的原理我想]]></description><category></category></item><item><title><![CDATA[Windows下多线程编程技术及其实现 ]]></title><link>https://blog.csdn.net/zy122/article/details/1473568</link><guid>https://blog.csdn.net/zy122/article/details/1473568</guid><author>zy122</author><pubDate>Thu, 04 Jan 2007 12:12:00 +0800</pubDate><description><![CDATA[一、问题的提出 作者最近在开发基于Internet网上的可视电话过程中，碰到了这样一个问题。在基于Internet网上的可视电话系统中，同时要进行语音采集、语音编解码、图象采集、图象编解码、语音和图象码流的传输，所有的这些事情，都要并行处理。特别是语音信号，如果进行图象编解码时间过长，语音信号得不到服务，通话就有间断，如果图象或语音处理时间过长，而不能及时的传输码流数据，通信同样也会中断。这样就要]]></description><category></category></item></channel></rss>