Windows程序设计
文章平均质量分 53
手写的从前66
这个作者很懒,什么都没留下…
展开
-
Windows编程的几本好书
版权声明:本文为博主原创或网络整理文章,转载请标明出处,谢谢。 https://blog.csdn.net/nodeman/article/details/82345632 1、《Windows程序设计(第5版 珍藏版)》:这是很经典的一本介绍Win32 API编程...转载 2018-12-02 08:38:09 · 826 阅读 · 1 评论 -
实例,句柄
程序、编译器和操作系统参考书目《C++ primer》《编译原理基础》 在开始任意一门语言的学习之前,很多人习惯于使用一个“软件”(如visual studio 2010),这个软件的功能是你可以把你的“hello world”程序写进去,点击编译,成功后运行,出现一个黑框,显示“hello world”。很多人把这个过程当成一个习惯,但可能...转载 2018-11-28 14:37:52 · 1247 阅读 · 0 评论 -
windows 程序设计 第三章读书笔记(上)
     娘的,今天晚上在阳台做饭把水管一脚踢爆了,水流到下面的住户的阳台,让个老娘们把我骂了一顿,本着做错事的原则,我装的很绅士还说了个对不起,擦,真是条纯汉子,能屈能伸。   &nb转载 2018-11-28 15:08:34 · 127 阅读 · 0 评论 -
Windows编程经典书籍
本人是刚刚开始学习windows编程的,感觉看雪学院的大牛很NB.想找一些书籍来看学习学习,可是不知道看哪些书好.驱动,对菜鸟们来说真是一个很深奥的话题,所以 ,我找来了这篇文章供大家分享,以后大家发现什么好书就在楼下跟贴吧! 作者:Harry Meng 来源:互联网.也许我的阅读面过于狭小,书架里基本上都是...转载 2018-11-28 15:40:07 · 6920 阅读 · 0 评论 -
句柄和指针的区别
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/perfectguyipeng/article/details/71189822 句柄在windows编程中是一个很重要的概念,在许多地方都扮演着重要的角色。在window...转载 2018-12-01 11:22:19 · 1266 阅读 · 0 评论 -
经典Windows编程书单
说好的这次写一个图形编程书单……但是看起来不是很好整理,这类书散落的家里到处都是……先把经典Windows编程的书整理一下吧,不过Windows的也到处都是很多都找不到了,只能把找到的拍个照,可能很多这次拍个照就永远压箱底了。按照惯例,首先回答一个无聊的问题:”你...转载 2018-12-07 23:17:26 · 461 阅读 · 0 评论 -
滚动条详解
对上一天学习的回顾: 1>. TextOut函数的使用 TextOut函数的作用是使用系统当前选择的字体、背景颜色以及正文颜色将一个字符串输出到指定位置, 函数原型: BOOL TextOut( HDC hdc, //设备环境句柄 int nXStart, //字...转载 2018-12-05 20:38:19 · 4915 阅读 · 1 评论 -
牛批的干活
推荐读书笔记链接:https://www.cnblogs.com/mr-wid/tag/Windows程序设计/原创 2018-12-05 20:41:55 · 97 阅读 · 0 评论 -
滚动条(2)
在用鼠标单击滚动条或者拖动卷动方块时,Windows给窗口消息处理程序发送WM_VSCROLL(供上下移动)和WM_HSCROLL(供左右移动)消息。在滚动条上的每个鼠标动作都至少产生两个消息,一条在按下鼠标按钮时产生,一条在释放按钮时产生。和所有的消息一样,WM_VSCROLL和WM_HSCROLL也带有wParam和lParam消息参...转载 2018-12-05 21:56:20 · 330 阅读 · 0 评论 -
窗口刷新问题(WMPAINT、BeginPaint、EndPaint的说明)
在某些情况下,显示区域的一部分被临时覆盖,Windows试图保存一个显示区域,并在以后恢复它,但这不一定能成功。在以下情况下,Windows可能发送WM_PAINT消息: Windows擦除覆盖了部分窗口的对话框或消息框。 菜单下拉出来,然后被释放。 显示工具提示消息。 在某些情况下,Windows总是保存它所覆盖的显示区域,然后恢复它。这些情况是: 鼠标光标穿越显示区域。...转载 2018-12-03 17:47:45 · 423 阅读 · 0 评论 -
WM_PAINT消息的一些实验
//窗口处理函数 LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_DESTROY: PostQuitMessage(0);//可以使GetMessage返回0 break; case WM_PAINT: { ...转载 2018-12-03 18:25:20 · 1323 阅读 · 1 评论 -
Windows程序运行原理(1)
<div class="simditor-body clearfix" style="height: auto; overflow: inherit;"> <p style="text-in转载 2018-12-03 19:37:17 · 552 阅读 · 0 评论 -
Windows程序内部运行原理(2)
                  &转载 2018-12-03 21:49:22 · 333 阅读 · 0 评论 -
Windows程序内部运行原理(3)
Windows应用程序,操作系统,计算机硬件之间的相互关系如下图:向下的箭头③表示应用程序可以通知操作系统执行某个具体的动作;向上的箭头④表示操作系统能够将输入设备的变化上传给应用程序。每个应用程序都维护一个消息队列(严格来说应该是每个GUI线程维护一个各自的消息队列)。大致运行流程应该是这样的:当输入输出设备产生变化时(如用户在某个程序活动时按了一下键盘),操纵系统会马上感知到这一事件...原创 2018-12-03 21:52:18 · 256 阅读 · 0 评论 -
Windows程序设计——面向对象的编程???
进行Windows程序设计时,其实就是在进行一种面向对象的编程。在面向对象中,对象是代码和数据的组合,一个窗口也是一个对象。在用户眼中,窗口是屏幕上的对象,并可借助键盘或鼠标直接与之进行交互。用户对窗口的输入以“消息”的形式传递给窗口,而窗口也借助消息来与其他窗口进行通信。窗口创建看似容易,调用CreateWindow函数即可。但是在创建窗口之前,需要注册一个窗口类。而窗口类又确定了处理窗...转载 2018-12-03 22:36:51 · 556 阅读 · 0 评论 -
Windows 中一个应用程序的启动过程
转载自:https://blog.csdn.net/cpp_mybest/article/details/801941581. Explorer.exe Windows 能够流行起来,很大一个原因是它有友好的用户图形界面,操作方便简单,容易上手。在Windows环境下...转载 2018-12-23 10:16:08 · 481 阅读 · 0 评论 -
InvalidateRect只是增加重绘区域
InvalidateRect函数中的参数TRUE表示系统会在你画之前用背景色将所选区域覆盖一次,默认背景色为白色,可以通过设置BRUSH来改变背景色。Invalidate()之后:...OnPaint()->OnPrepareDC()->OnDraw()所以只是刷新在OnPaint()和OnDraw()函数中...转载 2018-11-30 15:21:55 · 512 阅读 · 0 评论 -
变量的前缀和匈牙利命名法
匈牙利命名法许多 Windows 程序员都使用“匈牙利标记法”作为变量命名约定。这是为了纪念具有传奇色彩的微软程序员 Charles Simonyi。这种标记法非常简单,即变量名以一个或者多个小写字母开始,这些字母表示变量的数据型态。例如:szCmdLine 中的 sz 代表“以0结尾的字符串(StringZero)”;在 hInstance 和 hPrevInstance 中的 h ...转载 2018-11-26 20:23:38 · 800 阅读 · 0 评论 -
Windows的窗口刷新机制
1、Windows的窗口刷新管理窗口句柄(HWND)都是由操作系统内核管理的,系统内部有一个z-order序列,记录着当前窗口从屏幕底部(假象的从屏幕到眼睛的方向),到屏幕最高层的一个窗口句柄的排序,这个排序不关注父窗口还是子窗口。当任意一个窗口接收到WM_PAINT消息产生重绘,更新区域绘制完成以后,就搜索它的前面的一个窗口,如果此窗口的范围和更新区域有交集,就向这个窗口发送WM_PAINT...转载 2018-12-02 08:40:16 · 774 阅读 · 1 评论 -
各种获得设备环境句柄的方法
以下解读来自《Windows 程序设计》(第5版 珍藏版)P103~105设备环境如果想希望在图形输出设备(诸如屏幕或者打印机)上绘制图形,必须首先获得一个设备环境(即 DC)句柄。将句柄传回给程序时,Windows 就给了你使用设备的权限。接着,在 GDI 函数中将这个句柄作为一个参数,告诉 Windows 你将要在哪个设备上进行绘图。设备环境包含了许多决定 GDI 函数如何工...转载 2018-12-02 09:10:33 · 2024 阅读 · 1 评论 -
WNDCLASS结构体
WNDCLASS是一个由系统支持的结构,用来储存某一类窗口的信息,如ClassStyle,消息处理函数,Icon,Cursor,背景Brush等。也就是说,CreateWindow只是将某个WNDCLASS定义的窗体变成实例。要得到某一窗口的WNDCLASS数据,可以...转载 2018-11-29 18:01:13 · 209 阅读 · 0 评论 -
windows 程序设计 第三章(中)
今天啥都别说了,分了21个bug,而且有两个新功能要做,我的心哇凉哇凉的了,感叹生不逢时,要是大家伙都还在树上吃香蕉的时候就出生就不用每天忙得跟狗一样写码子了,擦,实在不行摊上个李刚爹也行啊!! ...转载 2018-11-29 18:10:26 · 85 阅读 · 0 评论 -
windows 程序设计 第三章 (下)
上周末真他娘的废,刚花了200大元买了辆拉风的二手自行车,结果今天就下雨,我一路风驰电掣骑到公司,连蛋蛋都湿透了, 太逊了!周末跟女朋友去看了场电影,去美国大爷家吃了个汉堡,甚是惬意. ...转载 2018-11-29 18:11:33 · 130 阅读 · 0 评论 -
Win32 SDK编程系列文章——绘制文本
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ouyangshima/article/details/9025971 绘制文本Windows 中的文本是一个GUI(图形用户界面)对象。每一个字符实际上是由许多的像素点组成,这些点在有...转载 2018-12-04 12:42:53 · 244 阅读 · 0 评论 -
Windows程序设计该怎么学?
《windows程序设计》是一本讲得非常具体且基础的书,用来充作长时间的参考会比较有用,但是线性学习下来是非常困难的,实际上即使是已经写了几年windows程序的人,也可能并不怎么能背下来DIB那一堆。有人可能要说:这就叫不求甚解。但是这样的甚解根本一点必要都没有啊,用到再去查就好了,被底层的东西绊住,是别想往上走的。现在使用图形,无论是使用GDI+,还是使用已有的图形处理库,亦或是使用别人封装...原创 2018-12-04 12:44:23 · 460 阅读 · 0 评论 -
句柄的本质
句柄的本质一、书上定义:<<Microsoft Windows 3 Developer''s Workshop>>(Microsoft Press,by Richard Wilton)    在Windows环境中,句柄是用来标识项目的,转载 2018-11-29 20:40:36 · 175 阅读 · 0 评论 -
Windows程序设计第三章——消息循环的详解
什么是消息循环,它如何工作?1.消息循环调用while循环中的GetMessage()函数,GetMessage()函数在消息队列中寻找消息。如果没有消息,程序就一直“停”在while循环中。2.当一个消息进入消息队列时,比如你点击鼠标触发了一个消息。GetMessage()函数返回一个大于0的值,表示这个消息正在被处理,并给msg结构体赋值。(WM_QUIT消息 GetMessage()函...转载 2018-11-29 20:43:47 · 385 阅读 · 0 评论 -
Windows编程——Unicode
上一篇我们学习了Windows编程的文本及字体输出,在以上几篇的实例中也出现了一些带有“TEXT”的Windows宏定义,有朋友留言想了解一些ANSI和Unicode编程方面的内容,本章就来了解和学习一些Windows下关于ANSI和Unicode方面的编程基础。计算机最早在美国诞生,所以最开始都是以英语为作为交互语言,由于只有26个字母,用一个字节(范围-128 ~ 127)表示,这个范围足...转载 2018-11-26 18:55:01 · 246 阅读 · 0 评论 -
Windows程序设计——宏定义和UNICODE的一些小把戏
【*】标记为非必要掌握内容,可以先收藏,今后某一天你会需要用到的。别名typedef 声明,简称 typedef,为现有类型创建一个新的名字,或称为类型别名,在结构体定义,还有一些数组等地方都大量的用到。它有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法。使用typedef可编写出更加美观和可读的代码。所谓美观,意指 typedef 能隐藏笨拙的语法构造以及平台相关的数据类...转载 2018-11-26 20:07:14 · 469 阅读 · 0 评论 -
句柄和特殊的指针
这是操作系统里的一个概念,句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,句柄有点象C语言中的文件句柄。 从上面的定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不一样,但是,也可能有一个名字和你一样的人。从数据类型上来看它只是一个16...转载 2018-11-26 20:18:02 · 88 阅读 · 0 评论 -
API,SDK,MFC详解
【扫盲】为初学者普及计算机编程中涉及的一些专业词语。API:Application Programming Interface -- 应用程序编程接口SDK:Software Development Kit -- 软件开发工具包MFC:Microsoft Foundations Classes -- 微软基础类API:应用程序编程接口应用程序接口为:“计算机操作系统(Ope...转载 2018-11-26 20:20:01 · 278 阅读 · 0 评论 -
进程和线程
第一篇:进程(process)常常被定义为程序的执行。可以把一个进程看成是一个独立的程序,在内存中有其完备的数据空间和代码空间。一个进程所拥有的数据和变量只属于它自己。线程(thread)则是某一进程中一路单独运行的程序。也就是说,线程存在于进程之中。一个进程由一个或多个线程构成,各线程共享相同的代码和全局数据,但各有其自己的堆栈。由于堆栈是每个线程一个,所以局部变量对每一线程来说是私有...转载 2018-11-26 20:21:05 · 99 阅读 · 0 评论 -
进程和线程
第一篇:进程(process)常常被定义为程序的执行。可以把一个进程看成是一个独立的程序,在内存中有其完备的数据空间和代码空间。一个进程所拥有的数据和变量只属于它自己。线程(thread)则是某一进程中一路单独运行的程序。也就是说,线程存在于进程之中。一个进程由一个或多个线程构成,各线程共享相同的代码和全局数据,但各有其自己的堆栈。由于堆栈是每个线程一个,所以局部变量对每一线程来说是私有...转载 2018-11-26 20:22:47 · 101 阅读 · 1 评论 -
线程局部存储
线程局部存储英文为Thread Local Storage [1] ,缩写为TLS。为什么要有TLS?原因在于,全局变量与函数内定义的静态变量,是各个线程都可以访问的共享变量。在一个线程修改的内存内容,对所有线程都生效。这是一个优点也是一个缺点。说它是优点,线程的数据交换变得非常快捷。说它是缺点,一个线程死掉了,其它线程也性命不保; 多个线程访问共享数据,需要昂贵的同步开销,也容易造成同步相...原创 2018-12-29 12:28:29 · 121 阅读 · 0 评论