2013年10月21日

mfc afxbeginthread()

摘要: 在进行多线程程序设计的时候,我们经常用到AfxBeginThread函数来启动一条线程该函数使用起来非常的简单方便,其定义如下CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc,//线程函数地址 LPVOID pParam,//线程参数 int nPriority = THREAD_PRIORITY_NORMAL,//线程优先级 UINT nStackSize = 0,//线程堆栈大小,默认为1M DWORD dwCreateFlags = 0,// LPSECURITY_ATTRIBUTES lpSecurityAttrs = N 阅读全文

posted @ 2013-10-21 19:23 Lingc· 阅读(555) 评论(0) 推荐(0) 编辑

vc ini配置文件读写

摘要: ini文件(即Initialization file),这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个Key可以赋相应的值。读写ini文件实际上就是读写某个的Section中相应的Key的值,而这只要借助几个函数即可完成。一、向ini文件中写入信息的函数1. 把信息写入系统的win.ini文件BOOL WriteProfileString( LPCTSTR lpAppName, // 节的名字,是一个以0结束的字符串 LPCTSTR lpKeyName, // 键的名字,是一个以0结束的字... 阅读全文

posted @ 2013-10-21 17:31 Lingc· 阅读(482) 评论(0) 推荐(0) 编辑

SetTimer()函数使用

摘要: 在编程时,会经常使用到定时器。使用定时器的方法比较简单,通常告诉Windows一个时间间隔,然后WINDOWS以此时间间隔周期性触发程序。通常有两种方法来实现:发送WM_TIMER消息和调用应用程序定义的回调函数。1.1用WM_TIMER来设置定时器先请看SetTimer这个API函数的原型UINT_PTR SetTimer( HWND hWnd, // 窗口句柄 UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器 UINT uElapse, // 时间间隔,单位为毫秒 TIMER... 阅读全文

posted @ 2013-10-21 17:15 Lingc· 阅读(37544) 评论(0) 推荐(1) 编辑

SendMessage 和 PostMessage

摘要: 1、首先是返回值意义的区别,我们先看一下MSDN里的声明:LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);BOOL PostMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 其中4个参数的意义是一样的,返回值类型不同(其实从数据上看他们一样是一个32位的数,只是意义不一样),LRESULT表示的是消息被处理后的返回值... 阅读全文

posted @ 2013-10-21 10:36 Lingc· 阅读(295) 评论(0) 推荐(0) 编辑

线程同步CriticalSection

摘要: 孙鑫 第十五/十六课之四 线程同步CriticalSection说明在使用多线程时,一般很少有多个线程完全独立的工作。往往是多个线程同时操作一个全局变量来获取程序的运行结果。多个线程同时访问同一个全局变量,如果都是读取操作,则不会出现问题。如果是写操作,则会发生错误。这时候,我们可以通过临界区,为全局变量设置一个保护,保证同时只有一个线程可以访问此变量,其他变量进入等待状态。临界区(Critical Section)是一段独占对某些共享资源访问的代码,在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一 阅读全文

posted @ 2013-10-21 10:20 Lingc· 阅读(268) 评论(0) 推荐(0) 编辑

导航

不知道不知道 知道不知道 知道知道 不知道知道。
天道酬勤,同志们共同努力!