- 博客(22)
- 资源 (3)
- 收藏
- 关注
原创 类似QQ电脑空闲5分钟后自动更改状态的实现
今天复习了windows线程的调度,优先级等相关内容。以为将一个进程和它的线程都设为优先级最低,那么该进程将在电脑空闲的时候才会运行。我突然联系到有的程序比方说腾讯QQ或者屏保程序是不是将要调用的线程设为优先级最低,等到电脑空闲或空闲一段时间(具体时间程序当然可以调)才开始调用呢?
2014-05-31 13:26:46 1899
原创 白话windows多线程同步之事件对象
引子:有这样一个程序需求,做一个文本编辑器,读取文件内容后能够进行文字拼写检查,语法检查,字数统计等工作。设计要点:①必须等到读取文件内容完全之后才能进行之后的操作②为了提高程序效率,拼写检查,语法检查,字数统计等工作最好一起进行,或者根据需求每个任务单独进行。
2014-05-26 18:05:11 1064
转载 一个简单但详细的解释Windows文件映射读取数据文件的例子
#include #include #include #include using namespace std;int main(int argc, char *argv[]){ // 步骤1 打开文件FILE_FLAG_WRITE_THROUGH HANDLE hFile = CreateFile( "demo.txt", GEN
2014-05-25 20:34:24 2877
转载 《Windows核心编程》学习——_beginThread,CreateThread辨析
本篇解释了为什么创建新线程的时候使用_beginThread比使用CreateThread更为安全这一问题。C/C++库的历史问题:标准的C运行库(C Runtime Class, CRT),是在1970年发明的,那个时候操作系统上还没有线程的概念,理所当然地,最初的C运行时库是线程不安全的。下面给出一个例子:标准C运行库有一个全局变量errno。有一些函数会在出错的时候设
2014-05-25 11:09:24 2673
转载 《Windows核心编程》学习——线程基础
线程的组成:1.一个线程内核对象,操作系统用它来管理线程。内核对象中还存储了线程的各种统计信息,包括挂起计数、退出代码等,以便于系统对线程的管理。内核对象中有一个CONTEXT结构,这个结构中存储了线程上一次执行的时候CPU寄存器的状态。2.一个线程栈,用于维护线程执行时所需的所有函数参量和局部变量。 线程的运行:在解释线程的运行机制之前,首先回顾
2014-05-25 10:20:05 834
转载 VS2008中Run-Time Check Failure #2 - Stack around the variable 'xxx' was corrupted 错误解决方法
问题 :在用VS2008写一段代码,算法都没有问题,但是调试的时候发现出了main之后就报 Stack around the variable 'xxx' was corrupted 的错误,后来发现是数组越界造成的。测试下面类似情形的代码:#include using namespace std; int main() { int
2014-05-23 17:29:14 1230
转载 链接重定义错误
转自:http://hi.baidu.com/weitingwang/item/d9de9ae8f581f4e8fb42ba5eVS2005链接问题: LNK2005错误 :error LNK2005: _free 已经在 libcmtd.lib(dbgheap.obj) 中定义以前经常遇到这个警告信息,因为运行并没有什么问题,所以也没深究。但是耿耿于怀那个“ 0
2014-05-23 16:19:31 1075
原创 duilib 消息流程
消息循环小探: 在程序中如果想要处理某消息,可以在GetMessage中截获后处理,当然也可以在窗口过程中直接处理。这里要注意的是,有点事件根本没有进入消息循环,而是直接发送到了窗口过程,比如点击窗口关闭时,在GetMessage里就截获不到消息,在窗口过程里才能收到。所以这就是为什么一个窗口类继承于CWindowWnd必须实现HandleMessage函数并且处理相关消息并PostQu
2014-05-22 09:46:40 8677
转载 GetMessage和PeekMessage的区别
在Win32中使用GetMessage和PeekMessage都可以获取对应该程序产生的消息。他们有什么区别呢?GetMessage的一般用法是GetMessage(&msg,NULL,0,0);这样可以接受所有的消息,GetMessage在没有产生消息的时候并不返回,而是一直在等待,直到一个消息返回;当消息不是WM_QUIT时,返回一个非零值,也就是说,当是WM_QUIT时会
2014-05-22 09:32:01 1011
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人