windows程序设计
文章平均质量分 65
遥望未来_cheerup
这个作者很懒,什么都没留下…
展开
-
windows程序设计读书笔记————对话框
用过windows的对于对话框并不陌生,其主要用于完成特定的任务,是人机交互的一个方式。对话框可以分为两种:模态对话框和非模态对话框。模态对话框也可分为两种,一种是系统方式的模态对话框,这种对话框只有当其结束时,你才能访问其他窗口,例如单击关机按钮时,出现的包含待机,重启,关机三个按钮的对话框。一种是需然不能点击父窗口,但可以点击其他窗口的模态对话框。用VC++创建的对话框模板解析:A原创 2011-12-07 16:45:38 · 2245 阅读 · 1 评论 -
线程同步
一、用户方式中的线程同步1.互锁函数 可以使用InterlockedExchangeAdd函数对一个长变量以原子操作的方式递增一个值:LONG InterlockedExchangedAdd( PLONG plAddend, LONG lIncrement); 可以使用InterlockedExchange和InterlockedExc原创 2013-11-28 23:44:02 · 1234 阅读 · 0 评论 -
windows程序设计复习(一)
窗口创建过程1.注册窗口类 定义一个WNDCLASS结构体,对结构体进行初始化,然后调用RegisterClass函数注册该窗口类:typedef struct{ UINT style ;//窗口的类别 WNDPROC lpfnWndProc ;//窗口过程的地址 int cbClsExtra ;//窗口类别 int cb原创 2013-11-26 14:33:35 · 784 阅读 · 0 评论 -
CreateToolHelp32Snapshot函数获取系统快照
系统为我们在内存中指定了一个关于进程、线程、堆和模块等的当前状态信息副本-----系统快照,我们可以通过CreateToolHelp32Snapshot函数来获取系统快照的句柄,通过该句柄来获取当前状态信息。该函数如下:HANDLE WINAPI CreateToolhelp32Snapshot( DWORD dwFlags, DWORD th32ProcessID原创 2013-11-26 20:23:28 · 4183 阅读 · 0 评论 -
线程二
一、线程的调度 window是抢占式多线程操作系统,也就是说一个线程可以随时停止运行,即不管这个线程是否已经消耗完自己的时间片,随后另一个线程可进行调度。线程的内核对象中使用线程上下文结构(CONTEXT结构)来保存自己线程运行时的CPU寄存器状态,当线程切换时,都会进行线程上下文切换。 在线程的内核对象中设定了一个暂停计数。当调用CreateProcess或Cr原创 2013-11-25 14:46:13 · 955 阅读 · 0 评论 -
线程一
线程由两部分组成:线程内核对象和线程堆栈。 每个进程至少有一个线程。当进程初始化时,系统就会创建一个主线程。该主线程随C/C++运行期启动代码一道运行,启动代码会调用进入点函数(main、wmain、WinMain或wWinMain),知道进入点函数返回,启动代码会调用ExitProcess结束进程为止。 你可以在主线程中创建辅助线程,这些辅助线程必须要有自己的原创 2013-11-24 18:29:02 · 994 阅读 · 0 评论 -
进程
进程常被定义为一个正在运行的程序的实例。其由两部分组成:1)用于管理进程的进程内核对象;2)一个地址空间,其中包括代码和数据,以及动态分配的空间。 进程是死的,它至少应该有一个主线程,该主线程可以创建其它线程。进程中的线程可以“同时”运行,因此每个进程都有自己的CPU寄存器和退栈。实际上,在某个时刻只有一个线程运行在处理上,操作系统给每个运行的线程一个时间片,这样就造成了多个线程原创 2013-11-24 12:22:46 · 1170 阅读 · 0 评论 -
内核对象
内核对象可以供系统和应用程序使用和管理各种各样的资源。内核对象只是内核分配的一个内存块,在该内存块中是一种数据结构,它的成员用于维护该内核对象的各种信息,个内核对象的数据结构不完全相同,并且只有内核才能直接访问该数据结构。 windows提供了一组函数,用于对这种数据结构进行操作。当我们调用函数创建内核对象时,该函数会返回一个标识该对象的句柄。通过将该句柄值传递给各个函数,即能够操作该内核对象。内原创 2013-11-18 12:40:29 · 670 阅读 · 0 评论 -
Unicode
Unicode的全部字符都占用两个字节。1.C运行库对Unicode的支持 定义了一个wchar_t类型代替char类型来支持Unicode字符串: typedef unsigned short wchar_t; 定义了一些以wcs开头的函数来支持Unicode,下面前面为ANSI C字符串函数,后面为Unicode函数:char *strcat(char原创 2013-11-17 22:21:21 · 958 阅读 · 0 评论 -
MFC中重写表头控件替换CListView类的表头类的方法
CSkinHeader sc;sc.SubclassWindow(theCtrl.GetHeaderCtrl()->GetSafeHwnd());//其中theCtrl为CLiistView类对象。SubClassWindow类为用子类替换父类原创 2013-10-24 22:49:08 · 1032 阅读 · 0 评论 -
windows程序设计读书笔记----------(计时器)
windows计时器是一种输入设备,每隔指定时间都会产生一个消息WM_TIMER,消息被放在应用程序消息队列中。WM_TIMER消息的产生不像DOS系统一样通过截获时钟滴答的BIOS中断来实现的,而是设定一个数值,每一个时钟滴答,该值减一,直到为零,产生一个WM_TIMER消息。在windows 98上,计时器具有与底层计时器相同的55毫秒的周期,也就是说没55毫秒产生一个时钟滴答,而window原创 2011-11-18 18:07:28 · 903 阅读 · 0 评论 -
windows读书笔记------子窗口控件
WM_COMMAND消息: LOWORD(wParam) 子窗口ID HIWORD(wParam) 通知码 lParam 子窗口句柄----------------------------------原创 2011-11-19 21:40:35 · 1520 阅读 · 0 评论 -
windows程序设计读书笔记--------资源
windows使用资源的一个好处是能够统一的进行管理,把所有的资源都绑定到程序的.EXE文件中。如果没有资源的概念的话,资源不得不单独的作为一个文件来保存,并在使用的时候将其读入内存。windows编程中,主要有如下一些资源:图标,鼠标指针,字符串,自定义资源,菜单,键盘加速键,对话框,位图。在VC中在程序中引入资源的一种便捷方法是:(1)设定一个工程已打开,如下:File->New,在弹出的原创 2011-11-29 21:26:22 · 1143 阅读 · 0 评论 -
windows程序设计读书笔记-------------windows的窗口类
windows的窗口类主要分为三种:系统全局窗口类,应用专用窗口类,应用全局窗口类。 系统全局窗口类 又称预先定义窗口类,windows已经定义好,我们不需注册,直接在创建窗口的时候引用就可以了。windows为我们提供了一些系统全局窗口类,不完全是: :Button类(按钮类) :Static类(静态标签类) :ListBox类原创 2011-11-19 13:25:11 · 998 阅读 · 0 评论 -
获取设备上下文
获取设备上下文有三种方法:BeginPaint、GetDC、GetWindowDC。 方法一:BeginPaint和EndPaint函数。BeginPaint函数适用在WM_PAINT消息中。使用这种方法可以自动将无效区域设为有效。默认情况下,调用BeginPaint函数时会自动将无效区域的背景擦出。但是要注意的时,我们调用InvalidateRect函数时,最后一个参数可以设置是原创 2013-12-04 22:14:15 · 2247 阅读 · 0 评论