Windows程序开发
利用程序写点真正有用的东西。
枫竹梦
枫竹梦,像风一样追逐自己的梦想!
展开
-
Windows窗口程序从创建到关闭产生的消息
Windows是消息驱动的,理解消息机制及消息循环是特别重要。知道在什么情况下产生什么消息会让我们对程序有更好的控制。Windows给应用程序发消息,有些会加入应用程序的消息队列,也是就是队列消息。有些直接调用窗口消息处理程序,不会加入到消息队列,这部分为非队列消息。下面分析一下一个应用程序从创建到结束产生的消息。先给出测试用的程序,当然是一个非常经典的结构:#in...原创 2016-12-02 16:11:28 · 3125 阅读 · 0 评论 -
BeginPaint和GetDC有什么区别
这是个windows编程问题。 第一种情况显示出来的字很正常。 case WM_PAINT: gdc = BeginPaint (hwnd, &ps); TextOut (gdc, 0, 0, s, strlen (s)); EndPaint (hwnd, &ps); break; 第二种情况显示的字不停闪原创 2014-05-02 22:46:44 · 1360 阅读 · 0 评论 -
Windows编程MessageBox函数
API: int MessageBox(HWND hWnd, LPCTSTRlpText, LPCTSTRlpCaption, UINTuType);MSDN描述:This function creates, displays, and operates a message box. The message box contains an application-原创 2014-04-29 22:36:02 · 1705 阅读 · 0 评论 -
Windows消息类型及说明
WM_Window Message窗口消息,一般用在SendMessage,PostMessage这样的消息函数中SM_Static Message静态标签消息SS_Static Style静态标签风格BM_Button Message按钮消息BS_Button原创 2016-12-02 11:14:06 · 9041 阅读 · 5 评论 -
Windows程序设计(1)——Win32运行原理(三)
进程控制1 获得系统进程4 进程控制4.1 获得系统进程使用toolhelp模块可以实现获取系统中当前运行当中的进程列表。思路如下,使用CreateToolhelp32Snapshot函数给当前系统内执行的进程拍快照(Snapshot),也就是获得了进程列表,这个列表记录着进程的ID、进程对应的可执行文件的名称和创建该进程的进程ID等数据。然后使用Process3原创 2016-08-04 23:40:12 · 1428 阅读 · 0 评论 -
Windows程序设计(1)——Win32运行原理(二)
创建进程1 进程和线程2 应用程序的启动过程3 CreateProcess函数4 实例3 创建进程3.1 进程和线程进程通常被定义为一个存在运行的程序的实例。进程是一个正在运行的程序,它拥有自己的虚拟地址空间,拥有自己的代码、数据和其他系统资源。一个进程也包含一个或者多个运行在此进程内的线程。程序是指一连串的静态的指令,而进程是一个容器,它包含了一系列运行在这个程序实例上下文中的线程使用的资原创 2016-08-03 23:38:46 · 2434 阅读 · 0 评论 -
Windows程序设计(1)——Win32运行原理(一)
CPU保护模式与Windows系统1 Windows多任务2 虚拟内存3 处理器的特权级别内核对象1 内核对象有什么用2 对象句柄3 使用计数1 CPU保护模式与Windows系统80386的CPU有3种工作模式:实模式、保护模式、和虚拟86模式。其中实模式和虚拟86模式是为了兼容8086CPU而设置的。保护模式是其主要的工作模式。Windows操作系统就运行在保护模式,而保护主要指的原创 2016-08-01 23:53:48 · 1803 阅读 · 0 评论 -
Windows程序设计(0)——编程之前
Windows程序设计之前1 做什么2 解决什么问题3 有哪些资源在开始真正的编程之前,需要了解要做的事情是什么,要解决的解决的问题是什么,有哪些资源可以使用。1 Windows程序设计之前1.1 做什么?我们要在Windows平台上来写程序,使用Win32 API不是唯一的方法,但确是必经之路。1.2 解决什么问题多数人开始接触Windows编程时,是从Visual Basic开始的,然后M原创 2016-08-01 23:00:25 · 667 阅读 · 0 评论 -
字符编码笔记:ASCII,Unicode和UTF-8
今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。1. ASCII码我们知道,在计转载 2014-04-29 23:42:26 · 937 阅读 · 0 评论 -
宏_CRTIMP分析
有学习《Windows程序设计》的过程中,对C语言进行了复习,体验到宏的强大。_CRTIMP的意思CRTIMP是C run time implement的简写,C运行库的实现的意思。作为用户代码,不应该使用这个东西。提示是使用dll的动态 C 运行时库还是静态连接的 C 运行库的一个宏。1234原创 2014-08-22 15:56:42 · 2544 阅读 · 0 评论 -
获取HDC的几种方法
当需要在显示器上(当然包括打印机等设备上)绘图时,或者写文字的时候,需要取得设备的上下文句柄,即HDC,本文以下都称为HDC。那么,有哪些办法取得HDC呢?1 BeginPain()和EndPaint()在处理WM_PAINT消息时,使用hdc = BeginPaint(hwnd, &ps);//...EndPaint(hwnd, &ps);ps是类型为PAINTSTRUCT类原创 2017-01-09 16:46:11 · 15766 阅读 · 4 评论