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

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

 2009-04-09 20:04:20 来源:WEB开发网   
核心提示: 本文仅仅简要叙述以下互斥信号量,其他信号量不在本文谈论之列,用vc++穷举windows应用程序密码(上)(5),请用户自行参考《win 32 编程指南》或 MSDN . 互斥信号量用于串行某一资源的使用,即任一时刻仅允许至多一个线程访问某一资源,名字大小写敏感, 若此值为NULL ,一

本文仅仅简要叙述以下互斥信号量,其他信号量不在本文谈论之列,请用户自行参考《win 32 编程指南》或 MSDN .

互斥信号量用于串行某一资源的使用,即任一时刻仅允许至多一个线程访问某一资源,一个互斥信号灯只能为一个线程所拥有,任何试图要求互斥标志的其他线程都将被锁住,直到互斥标志被释放为止。

在程序采用了多个线程对窗口进行枚举,一旦某线程发现密码窗口或出错要求重试窗口,该线程便首先获得互斥信号量,该线程具有枚举子窗口的权利,能够向密码编辑框输入文本,发送键盘鼠标消息,其他线程因无法获得互斥标志处于睡眠状态。这正如列车上的卫生间,一次只能进一个人,进去后先关门,其他人被挡在大门之外,直到里面的人出来,别人方可进去。

CreateMutex  函数用于创建一个命名的或无命名的互斥量对象。  HANDLE CreateMutex(

LPSECURITY_ATTRIBUTES lpMutexAttributes,

  // 安全属性指针

    BOOL bInitialOwner, // 最初的拥有标志

    LPCTSTR lpName // 指向互斥量的对象名

   );

参数:

lpMutexAttributes

指向一个安全属性结构,决定返回句柄能否被子进程继承并拥有,如果此值为NULL,那么句柄无法继承拥有。

bInitialOwner

指示互斥对象的最初拥有者,此值为真,请求互斥量的线程可以直接获得互斥量的拥有权。否则互斥量不被拥有。

lpName

指向一个以0结尾的字符串, 来表示互斥对象的名字,名字限于MAX_PATH 个字符串,可以包含除 以外的任何字符,名字大小写敏感。

若此值为NULL ,互斥对象没有名字。

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

Tags:vc 穷举 windows

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