![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Windows SDK Series
文章平均质量分 59
luckysym
这个作者很懒,什么都没留下…
展开
-
Windows GDI学习笔记(1)——基本概念
GDIWindows环境下的图形组件,介于应用程序与绘图设备驱动之间,为应用程序提供了一套与具体设备无关的绘图程序接口。Device Context是对具体绘图设备的一个抽象,用以加载特定的绘图设备驱动程序,并根据应用程序的指令调用具体的绘图设备实现所需的绘图操作。应用程序在绘图前创建并维护一个Device Context,并调用创建的Device Context进行绘图操作。Pen虚拟的线条绘图原创 2005-03-30 00:43:00 · 1773 阅读 · 0 评论 -
Windows GDI学习笔记(二)——窗口的绘制
Windows统一控制屏幕输出Windows作为一个多任务操作系统,在同一个界面上会存在多个任务窗口。因此为保证各个任务窗口能够正常工作,Windows系统负责管理所有的屏幕输出,保证图形内容能够显示在各自的窗口中而不相互干扰。所有应用程序都必须通过Windows系统才能将内容显示在屏幕上。何时绘制窗口窗口在很多时候能被绘制或重新绘制,如在窗口创建、大小变更、从其他窗口后面移出窗口、最大或最小化原创 2005-03-30 23:31:00 · 2517 阅读 · 1 评论 -
Windows Common Controls
Windows Common ControlsWin32 API中本身提供了Windows下许多常用的控件,称为Common Controls。 这些控件与Button、ComboBox等控件不同,不是在user32.dll中实现,而是在Comctrl32.dll中实现,相关的C++原型声明在commctrl.h中。所以,在使用Win32 API编写Windows窗口应用程序时,如果在界面原创 2006-10-19 15:35:00 · 6101 阅读 · 0 评论 -
进程间通信实现子进程标准输出转移
Visual Studio之类的IDE,在编译的时候调用cl等编译链接工具,而编译器是命令行程序,visual studio能把编译器的标准输出显示到窗口文本框中。一直困惑于它的实现方式。今天,终于在数小时的花费后,掌握了解决之道,关键在于创建匿名管道,并将子进程标准输出指向管道写端,另外一头就能慢慢读了。下面这个例子就是将"ping 127.0.0.1"原本在命令行窗口输出的内容,显示到窗口原创 2006-11-18 18:05:00 · 1216 阅读 · 0 评论 -
Windows下C++读写锁
// 一个Windows下C++读写锁的代码,实现共享读,独占写class ReadWriteLock{public: int m_currentLevel; int m_readCount; HANDLE m_unlockEvent; HANDLE m_accessMutex; CRITICAL_SECTION m_csStateChan原创 2007-06-29 17:10:00 · 5551 阅读 · 5 评论 -
Windows平台的线程——创建和退出
Windows平台的线程 ---- 线程的创建和退出创建线程的Win32API函数是CreateThread和CreateRemoteThread。前者创建的线程运行于当前的进程空间,而后者用于创建运行于其他进程空间中的线程。线程创建后都回返回一个线程句柄,同时也可以在输出参数钟返回一个线程的编号。通过线程句柄,我们可以对先做进行暂停、恢复等操作。和其他系统句柄一样,线程句柄也可以被原创 2007-07-19 14:12:00 · 3462 阅读 · 0 评论 -
socket中的select函数使用
socket select()函数用于定时检查以创建的socket句柄的状态,以确定设定的socket句柄当前是否可写或有数据可读。select函数提供了一种方法,使得程序在操作socket时(如recv操作),无需因阻塞而等待直至超时。特别是在一个线程中操作多个socket时,对多个socket逐一操作直至超时将浪费大量时间。select机制则是同时对多个socket句柄进行原创 2012-07-07 17:14:40 · 9791 阅读 · 1 评论