摘要: 环境:vc2003.h 1 /* MD5.H - header file for MD5C.C 2 */ 3 4 /* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All 5 rights reserved. 6 7 License to copy and use this software is granted provided that it 8 is identified as the "RSA Data Security, Inc. MD5 Message-Digest 9 Algorithm&quo 阅读全文
posted @ 2013-08-23 10:11 CPYER 阅读(611) 评论(0) 推荐(0)
摘要: 1.窗口信息1 //MS 为我们提供了打开特定桌面和枚举桌面窗口的函数。2 hDesk=OpenDesktop(lpszDesktop,0,FALSE,DESKTOP_ENUMERATE);3 //打开我们默认的Default 桌面;4 GetWindowText(hWnd,szWindowText,dwMaxCount);//取得编辑框中的文字5 GetWindowThreadProcessId(hWnd,&dwPID);2.磁盘信息 1 //获得系统所有磁盘的信息,包括软盘,硬盘,光盘等等; 2 GetLogicalDriveStrings(dwBufferLength,lpBuf 阅读全文
posted @ 2013-08-23 10:03 CPYER 阅读(719) 评论(0) 推荐(0)
摘要: 事件(Event) 事件对象也可以通过通知操作的方式来保持线程的同步。并且可以实现不同进程中的线程同步操作。 信号量包含的几个操作原语: CreateEvent() 创建一个事件 OpenEvent() 打开一个事件 SetEvent() 回置事件 WaitForSingleObject() 等待一个事件 WaitForMultipleObjects()等待多个事件 WaitForMultipleObjects 函数原型:1 WaitForMultipleObjects( 2 IN DWORD nCount, // 等待句柄数 3 ... 阅读全文
posted @ 2013-08-22 14:48 CPYER 阅读(530) 评论(0) 推荐(0)
摘要: VC windows api 多线程---临界区临界区(Critical Section)是一段独占对某些共享资源访问的代码,在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到用原子方式操作共享资源的目的。 临界区在使用时以CRITICAL_SECTION结构对象保护共享资源,并分别用EnterCriticalSection()和LeaveCriticalSection()函数去标识和释放一个临界区。所用到的CRITIC. 阅读全文
posted @ 2013-08-22 14:47 CPYER 阅读(611) 评论(0) 推荐(0)
摘要: windows api 多线程---信号量 信号量(Semaphore)和互斥量一样,属于内核对象。它自动执行可用资源查询的测试,如果有可用资源,则可用资源的计数减少1,从而避免其它线程请求资源。当该线程释放该资源后,可用资源计数增加1,则操作系统允许另一个线程请求资源。 信号量与临界区和互斥量的不同在于,它不属于某个线程。也就是说,一个线程可以等待信号量对象(减少它的资源计数),而另一个线程释放该对象(增加它的资源计数)。图3 使用信号量对象控制资源 下面结合图例3来演示信号量对象对资源的控制。在图3中,以箭头和白色箭头表示共享资源所允许的最大资源计数和当前可用资源计数。初始如图(a)... 阅读全文
posted @ 2013-08-22 14:46 CPYER 阅读(576) 评论(0) 推荐(0)