
Windows平台
antswallow
这个作者很懒,什么都没留下…
展开
-
线程基本知识
线程的基础知识1. 进程与线程有那些区别和联系?l 每个进程至少需要一个线程。l 进程由两部分构成:进程内核对象,地址空间。线程也由两部分组成:线程内核对象,操作系统用它来对线程实施管理。线程堆栈,用于维护线程在执行代码时需要的所有函数参数和局部变量。l 进程是不活泼的。进程从来不执行任何东西,它只是线程的容器。线程总是在某个进程环境中创建的,而且它的整个寿命期都在该进程中。l转载 2009-06-03 13:32:00 · 485 阅读 · 0 评论 -
createthread和beginthread句柄数只增不降
由于中继服务器句柄增加,随带测试了创建线程句柄数量的问题1 调用API :createthread,closehandle 线程函数 :func{printf} 执行次数 :1 结果: 句柄 为10 2 调用API :createthread,closehandle 线程函数 :func{printf}原创 2009-06-04 14:12:00 · 1284 阅读 · 0 评论 -
多次关闭同个句柄导致的问题
在程序中两次调用closesocket(s)是错误的,因为有可能导致其它模块的socket被关闭 void bug(){ handleClose(s); //由于原开发人员这块逻辑处理混乱,导致socket有时候不会关闭 //cost some time closesocket(s); //由于原开发人员不愿意修原创 2009-06-09 18:02:00 · 2340 阅读 · 0 评论 -
CALLBACK回调函数
是由你设计却由windows系统呼叫的函数,统称为callback函数。某些API函数要求以callback作为你参数之一。如SetTimer,LineDDA,EnumObjects。回调函数是由开发者按照一定的原形进行定义的函数(每个回调函数都必须遵循这个原则来设计)例如:----------------------------------------BOOL CALLBAC转载 2009-06-19 10:51:00 · 703 阅读 · 0 评论 -
孙鑫VC视频教程笔记之第十七课“进程间的通信
进程间通信的四种方式:Ø 剪贴板Ø 匿名管道Ø 命名管道Ø 邮槽 1. 剪贴板:剪贴板其实是系统管理的一个内存区域,当一个程序发生拷贝的时候,将是该内存区域得到填充,使用粘贴的时候是重该区域取出数据,然后显示的对应窗转载 2009-06-22 11:37:00 · 559 阅读 · 0 评论 -
在单独线程中执行对象成员函数
问题的提出: 实际上所有线程都是用来处理C函数的,而不是C++类成员函数。标准库中提供一个API函数,这个函数以回调函数指针作为线程的执行代码并在单独的线程中调用回调函数。问题是在这样的线程库中不能创建执行对象成员函数的线程;只能使用普通的函数。因此,下列代码是失败的: // 启动线程库函数的线程 int thr_create (原创 2009-06-25 11:58:00 · 499 阅读 · 0 评论 -
远程注入加载dll无反应
最近脑残的严重,不是做过的事想不起来,就是写的代码东漏西漏,今天折腾那个远程注入的也是处理了半死,都快崩溃了. 远程注入dll,一直没有反应,后来发现原来是dll依赖的问题.注入需要注意是根据目标进程的目录来loadlibrary dll所以依赖的文件,要放在目标进程的相应目录,或system32原创 2009-07-06 16:35:00 · 1712 阅读 · 0 评论