WEB开发网
开发学院软件开发VC 用vc++穷举windows应用程序密码(上) 阅读

用vc++穷举windows应用程序密码(上)

 2009-04-09 20:04:20 来源:WEB开发网   
核心提示: 在一个进程中运行着一个或多个线程,线程是操作系统分配处理器时间片的最小单位,用vc++穷举windows应用程序密码(上)(3),一个线程可以执行进程中的任何一部分代码,包括当前被其他线程执行的部分,全局函数AfxBeginThread采用以下原型: CWinThread * AfxBe

在一个进程中运行着一个或多个线程,线程是操作系统分配处理器时间片的最小单位,一个线程可以执行进程中的任何一部分代码,包括当前被其他线程执行的部分。线程能独立执行程序代码的任何部分,共享虚拟地址空间并能访问全局变量和进程系统资源。各个线程根据其调度优先级分配CPU,线程具有进程的许多特征,又称为轻量级的进程。由于线程基本上不拥有系统资源,仅占有一点在运行中不可缺少的资源(机器寄存器、内核堆栈、线程环境块和用户堆栈等),由于应用程序由进程组成,进程由线程组成。同一进程线程的切换不会引起进程的切换,因此,线程的调度开销要远远小于进程的调度开销。

在MFC类库中,每个CWinThread对象表示程序的一个执行线程,MFC 将线程分为两种类型:用户界面线程(user-interface thread)和工作者线程(worker thread),前者用于消息循环或消息泵,用于消息处理。后者没有消息循环用于无需用户响应的后台任务。

工作者线程分两步创建:

1.创建线程函数

DWORD WINAPI ThreadFunc( LPVOID );

参数值是在创建线程对象时传递给构造函数的值,它既可为标量值,也可以为指向多个参数结构的指针,还可以省略。

2.调用AfxBeginThread启动工作者线程。此时,全局函数AfxBeginThread采用以下原型:  CWinThread * AfxBeginThread(

AFX_THREADPROC pfnThreadProc ,

LPVOID pParam,

int nPriority=THREAD_PRIORITY_NORMAL,

UINT nStackSize=0,

DWORD dwCreateFlags=0,

LPSECURITY_ATTRIBUTES lpsecurityAttrs=NULL);

其中:pfnThreadProc 即为工作者线程的线程函数。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:vc 穷举 windows

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接