【Windows】学习
文章平均质量分 72
【Windows】学习
江湖人称菠萝包
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Windows】《深入浅出Windows API程序设计:核心编程篇》笔记-Chapter11-PE文件格式深入剖析
PE(Portable Executable,可移植的执行体)是微软可执行文件(.exe或.dll)采用的格式,PE格式的目标是使可执行文件可以在不同的CPU工作指令下运行,该格式可以兼容于Windows操作系统的多个版本。PE格式是操作系统工作方式的写照,PE文件头的数据供操作系统装载可执行文件使用,操作系统会根据PE文件头的信息把可执行文件载入内存,加载导入表中提供的动态链接库,根据重定位表修正代码等。原创 2026-09-15 20:29:15 · 419 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:核心编程篇》笔记-Chapter10-其他常用Windows API编程知识
快捷方式是Windows提供的一种快速启动程序、打开文件或文件夹的方法,快捷方式的扩展名通常为.lnk,另外还有扩展名为.url的网页快捷方式等。快捷方式的相关属性包括快捷方式指向的目标文件路径、快捷方式自身路径、起始位置(工作目录)、快捷键、运行方式(常规窗口、最小化或最大化)、备注(描述)、图标和命令行参数等。快捷键属性指的是为目标文件设置一个特定线程热键,按下快捷键时会打开目标文件。原创 2026-09-14 07:15:00 · 495 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:核心编程篇》笔记-Chapter9-WinSock网络编程
I/O完成端口为在多CPU系统上处理多个并发异步I/O请求提供了一种高效的线程模型。与在收到I/O请求时创建一个工作线程相比,处理多个并发异步I/O请求的进程可以通过将I/O完成端口与线程池结合使用以更快、更高效地完成。I/O完成端口是一个内核对象,但是I/O完成端口仅与创建它的进程相关联,不能在进程间共享。创建I/O完成端口对象的CreateIoCompletionPort函数并没有一个安全属性结构参数。原创 2026-09-14 07:00:00 · 444 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:核心编程篇》笔记-Chapter8-Windows异常处理
向量化异常处理(Vectored Exception Handling,VEH)是对结构化异常处理的扩展,向量化异常处理是基于进程全局的,程序可以注册一个函数来监视或处理该程序的所有异常,当进程中的任何一个线程中发生异常时,都去调用注册的这个函数(异常处理程序)。程序可以通过调用AddVectoredExceptionHandler函数添加或者注册一个向量化异常处理程序,也可以多次调用AddVectoredExceptionHandler函数添加多个异常处理程序,所有向量化异常处理程序形成一个VEH链表。原创 2026-09-13 07:15:00 · 378 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:核心编程篇》笔记-Chapter7-INI配置文件和注册表操作
操作系统和各种应用程序,通常需要使用某种方式来保存配置信息。.ini文件是Initialization File的缩写,即初始化文件,是Windows中配置文件所采用的存储格式,例如Windows目录中的Win.ini文件保存了桌面设置和与应用程序运行有关的信息,System.ini文件保存了与硬件配置有关的信息。INI文件是文本文件,可以使用任何文本编辑器对其进行修改,所以安全性不是很好。另外,INI文件的结构比较简单,无法保存格式复杂的数据,例如很长的二进制数据或换行的字符串等。原创 2026-09-13 07:00:00 · 198 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:核心编程篇》笔记-Chapter6-动态链接库
程序中用到的Windows API函数都包含在动态链接库(Dynamic Link Library,DLL)中,其中3个最重要的动态链接库(DLL)分别是Kernel32.dll、User32.dll和Gdi32.dll。Kernel32.dll中包含的函数用来管理内存、进程以及线程等,User32.dll中包含的函数用来执行与用户界面相关的任务,例如创建窗口和发送消息等,Gdi32.dll中包含的函数用来绘制图像和显示文字等。原创 2026-09-12 07:15:00 · 282 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:核心编程篇》笔记-Chapter5-剪贴板
许多文档、数据处理程序都提供了剪切、复制和粘贴功能,当用户选择剪切或复制菜单项时,程序会把数据传递到剪贴板,这些数据采用特定的格式,例如文本、位图;当用户选择粘贴菜单项后,程序会检查剪贴板中是否包含本程序可用的数据格式,如果包含,则把数据从剪贴板传递到该程序。Windows剪贴板是一种比较简单的同时开销比较小的进程间通信方式,使用剪贴板传递数据使开发人员不必过多地考虑数据存储的共享空间,简化通信过程。Windows系统支持剪贴板IPC的基本机制是由系统预留的一块全局共享内存,可被各进程用于暂时存储数据。原创 2026-09-12 07:00:00 · 209 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:核心编程篇》笔记-Chapter4-进程
进程(Process)是系统中正在运行的一个可执行文件,可执行文件一旦运行就成为进程,是一个动态的概念,是一个活动的实体。进程是一个正在运行的可执行文件所使用资源的总和,包括虚拟地址空间、代码、数据、对象句柄、环境变量等。当一个可执行文件被同时多次执行时,产生的是多个进程,虽然它们由同一个文件执行而来,但是它们的虚拟地址空间相互隔离,类似于不同的可执行文件在执行。运行一个可执行文件就是创建了一个进程。本章将学习如何在程序中动态创建一个进程,多个进程之间如何进行通信,进程的枚举和调试等。原创 2026-09-11 07:15:00 · 338 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:核心编程篇》笔记-Chapter3-文件、驱动器和目录操作
文件是系统中操作最为频繁的对象,例如文本文档、音视频、可执行文件等。文件存储的载体是磁盘,我们先来学习与磁盘有关的概念。磁盘(Disk)是指利用磁记录技术存储数据的存储器,早期计算机使用的磁盘是软磁盘(Soft Disk,简称软盘),现在常用的磁盘是硬磁盘(Hard Disk,简称硬盘)。硬盘有机械硬盘(Hard Disk Drive,HDD)和固态硬盘(Solid State Drive,SSD)之分。原创 2026-09-11 07:00:00 · 341 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:核心编程篇》笔记-Chapter2-内存管理
计算机的技术发展过程经历了以下阶段:流水线、超标量、超线程、多核心、超频,计算机性能可谓飞速提高。CPU的发展历史可以大体归结为以下几个阶段(以Intel为例):Intel 4004(1971—1973年,4位和8位CPU),Intel 8080(1974—1977年,8位CPU),Intel 8086(1978—1984年,16位CPU),Intel 80386(1985—1992年,32位CPU),奔腾系列(1993—2005年,32/64位CPU),酷睿系列(2005年至今,32/64位CPU)。原创 2026-09-10 07:15:00 · 304 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:核心编程篇》笔记-Chapter1-多线程编程
例如,当工作线程完成自己的工作后,可以向主线程发送自定义的WM_XXX消息来通知主线程,因此主线程不需要随时检查工作线程是否已经完成某项操作或工作线程是否结束,只需要在窗口过程中处理WM_XXX消息。当然,主线程也可以向工作线程发送自定义消息,但是工作线程需要维护一个消息循环。如果工作线程创建了窗口,则还需要有一个窗口过程,这违背了多线程程序设计的原则,所以发送自定义消息的方法通常用于工作线程向主线程发送。工作线程向主线程发送自定义消息比较简单,调用SendMessage/PostMessage函数即可。原创 2026-09-10 07:00:00 · 708 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter10-通用对话框
通用对话框库包含一组用于执行常见应用程序任务的对话框,例如打开文件、选择颜色和打印文档等,通用对话框实现了应用程序用户界面的一致性,例如单击不同程序的文件菜单下的打开文件子菜单项,通常都会弹出相同的打开文件对话框。要弹出打开文件、选择颜色和打印文档等通用对话框用的是不同的函数,在使用这些函数时,基本上都要初始化一个结构的一些字段并将该结构的指针传递给这些函数。函数会创建并显示相应的对话框,当用户关闭对话框时,函数将控制权返还给程序,然后程序可以从先前传递给函数的结构中获取需要的信息。原创 2026-09-09 07:15:00 · 465 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter9-对话框
在图形用户界面中,对话框是一种特殊的窗口,用来向用户显示信息(例如MessageBox消息框),或者在需要的时候获得用户的输入以作出响应(例如记事本Notepad的查找、替换对话框)。之所以称之为“对话框”,是因为它们使计算机和用户之间构成了一个对话:通知用户一些信息,或者是请求用户的输入,又或者两者皆有。通常在可以打开对话框的菜单项后面加上“…”,例如“文件”菜单下的“另存为…”表示会打开一个选择文件名的对话框。对话框中的按钮、文本框和图标等称为“子窗口控件”。原创 2026-09-09 07:00:00 · 607 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter8-子窗口控件
工具栏具有简单、直接、美观的特点,但是如果菜单项比较多,想要全部显示可能会占据大量的空间。为此可以在调用CreateWindowEx函数创建工具栏时指定CCS_ADJUSTABLE样式启用工具栏的自定义功能,用户可以自由排列工具栏按钮,或者仅选择显示用户感兴趣的按钮。在指定CCS_ADJUSTABLE样式后,用户可以将按钮拖动到新位置或通过将其拖离工具栏来删除按钮(按住Shift键)。此外,当用户双击工具栏的时候,会弹出一个自定义工具栏对话框,如原书的图8.23所示。原创 2026-09-08 07:15:00 · 471 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter7-位图
位图也称点阵图像或光栅图像,通过使用一格一格的像素点来描述图像。位图的文件类型有很多,例如.bmp、.jpg、.png、.gif等。位图由一个个像素点组成。当放大位图时,像素点随之放大,但是每个像素点所表示的颜色是单一的,所以在位图放大以后就会出现马赛克状。位图的优点是色彩比较丰富,可以逼真地展现自然界的各类实物,颜色信息越多,图像色彩越丰富,但是占用的存储空间就越大。原创 2026-09-08 07:00:00 · 357 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter6-菜单和其他资源
通过自定义资源,可以在可执行文件中添加任何格式的数据,可以是二进制数据,也可以是一个磁盘文件。自定义资源的用途非常广泛,例如稍微复杂一点的程序除了有一个主程序,还有动态链接库文件。可以把.dll文件打包到可执行文件中,用户运行程序的时候把它们释放到本地;可以把病毒木马程序嵌入可执行文件中,用户运行程序的时候,释放出来并执行;程序运行过程中,可能需要一些数据,可以作为自定义资源嵌入可执行文件中,需要的时候随时加载,等等。原创 2026-09-07 07:15:00 · 272 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter5-计时器(定时器)和时间
参数uElapse指定时间间隔,以毫秒为单位。如果uElapse参数小于USER_TIMER_MINIMUM (0x0000000A),则时间间隔会被设置为USER_TIMER_MINIMUM;如果uElapse参数大于USER_TIMER_MAXIMUM(0x7FFFFFFF),则时间间隔会被设置为USER_TIMER_MAXIMUM。即 uElapse参数可以设置为10~2147483647 ms(大约24.8天)。如果指定的时间间隔已过,系统就会通知应用程序。原创 2026-09-07 07:00:00 · 351 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter4-键盘与鼠标
键盘和鼠标是个人计算机中常用的输入设备。通过键盘可以将字母、数字、标点符号等输入计算机中,从而向计算机发出命令;鼠标可以对屏幕上的光标进行定位,并通过鼠标按钮和滚轮对光标所处位置的屏幕元素进行操作。一个应用程序应该响应用户的键盘和鼠标输入事件。原创 2026-09-06 10:09:38 · 309 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter3-GDI绘图
MM_ISOTROPIC和MM_ANISOTROPIC属于程序自定义的映射模式,对于6种预定义的映射模式(MM_TEXT、MM_HIENGLISH、MM_LOENGLISH、MM_HIMETRIC、MM_LOMETRIC和MM_TWIPS),当调用SetMapMode函数设置为其中一种映射模式时,系统将设置其窗口范围和视口范围,这两个范围不能改变。原创 2026-09-06 10:09:14 · 351 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter2-Windows窗口程序
本章首先带领大家认识一下Windows窗口程序,然后详细介绍开发一个标准Windows窗口程序的步骤与原理。很多内容都是Windows的规定。对于刚刚接触Windows程序设计的读者,第2章或许是全书最难的,但是只要明白了本章所涉及的原理,后面章节的学习就会顺理成章。原创 2026-09-05 21:10:57 · 380 阅读 · 0 评论 -
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter1-基础知识
本书是Windows API程序设计的入门图书,提供大量的示例程序,主要介绍学习Windows程序设计必备的基础知识,以及一个程序界面所需的菜单、图标光标、子窗口控件、其他资源和对话框等相关内容,并通过Photoshop切片和自绘技术实现一个优雅的程序界面。通过阅读本书,读者可以对Windows程序设计有更加深入的认识,并将其应用到实际场景中。原创 2026-09-05 08:56:26 · 304 阅读 · 0 评论
分享