自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

深入剖析程序

此人深不可测

  • 博客(13)
  • 收藏
  • 关注

原创 0x10_控件消息截获

控件的消息处理函数是系统定义好的,通常情况下,不需要再见提供。但是要是想要对其进行特殊控制时,可以提供一个消息处理函数,替换原来的消息处理函数。自己处理完后,在调用系统的缺省处理函数相关函数// 函数原型// GetWindowLong函数检索有关指定窗口的信息。该函数还在额外的窗口内存中获取指定偏移量处的32位(长)值// 要编写兼容32位和64位版本Windows的代码,可以使用GetWindowLongPtrLONG GetWindowLong( HWND hWnd, // h.

2020-10-12 18:23:36 85

原创 0x9_通用控件(TODO)

TODO

2020-10-12 18:23:19 132

原创 0x8_控件的使用(TODO)

控件可以跟对话框资源一起被创建出来(可视化编程,方便快捷)也可以用CreateWindow创建出来(代码编程,位置更加精准)所有控件都有ID,查看资源属性就可以看到。操作控件可以使用GetDlgItem(父窗口句柄,控件ID)获取句柄控件类型和风格窗口类名控件英文Button按钮Button-复选框CheckBox-单选框RadioButtonStatic静态文本Static Text-图片Picture ControlC.

2020-10-12 18:23:07 274

原创 0x7_对话框

对话框简介通过CreateWindow创建窗口,比较复杂。于是微软提供了直接创建对话框的方式。1、通过资源编辑器添加对话框资源,编辑ID2、使用CreateDialog或DialogBox函数创建对话框// 函数原型HWND CreateDialog( HINSTANCE hInstance, // handle to module LPCTSTR lpTemplate, // dialog box template name HWND hWndParent,

2020-10-12 18:22:49 354

原创 0x6_windows中的资源

资源是windows应用程序图形用户界面的重要组成部分。每个应用程序都包含多种数据,在编译后被包含进EXE可执行程序中(光标、位图、图标、加速键、菜单、字符串、对话框等)我们无法直接定位资源,我们如果要使用就需要用Loadxxx函数来获得资源的句柄来操作他们。光标后缀 .cur// 添加用户自定义光标的步骤// 1、创建或者导入光标 记录光标的ID(IDC_CURSOR1)// 2、加载光标HCURSOR hCur = LoadCursor(hInstance,MAKEINTRES.

2020-10-12 18:22:29 294 1

原创 0x5_控件操作

标准控件窗口类名控件英文Button按钮Button-复选框CheckBox-单选框RadioButtonStatic静态文本Static Text-图片Picture ControlComboBox复合框ComboBoxEdit编辑框EditListBox列表框ListBoxScrollBar滚动条ScrollBar通用控件通用控件属于windows提供的较为复杂的控件,树控件,列表框控

2020-10-12 18:22:03 161

原创 0x4_窗口和窗口风格

什么是窗口?窗口是windows操作系统中用来显示信息和接收信息的基本单元。窗口管理器: 负责管理窗口相关功能的操作系统部件桌面窗口: windows操作系统初始化时生成的窗口。调用GetDesktopWindow函数可以获得桌面的窗口句柄(HWND)。桌面窗口会覆盖整个屏幕,其他窗口都在其之上显示。窗口的标准风格windows窗口风格:1、 重叠窗口 Overlapped – WS_OVERLAPPED2、 弹出窗口 Popup – WS_POPUP3、 子窗

2020-10-12 18:21:33 137

原创 0x3_消息的接收

> 消息的接收主要有三个函数:> 0x1. GetMessage> 0x2. PeekMessage> 0x3. WaitMessageGetMessageGetMessage函数从调用线程的消息队列中检索消息。该函数分派传入发送的消息,直到发布的消息可供检索为止。// 函数原型BOOL GetMessage( LPMSG lpMsg, // 消息信息 HWND hWnd, // 接收哪个窗口的消息 UI

2020-10-12 18:21:05 296

原创 0x2_消息的发送

消息的发送SendMessage函数将指定的消息发送到一个或多个窗口。它调用指定窗口的窗口过程,直到窗口过程处理完消息后才返回。// 函数原型LRESULT SendMessage( HWND hWnd, // 目标窗口句柄 UINT Msg, // 发送的消息 WPARAM wParam, // 消息附加参数 LPARAM lParam // 消息附加参数);SendMessage函数是非队列消息消息的寄送PostMessage函数在

2020-10-12 18:20:49 244

原创 0x1_队列消息和非队列消息

队列消息和非队列消息队列消息队列消息 可以分为 系统消息队列 和 线程消息队列系统消息队列:windows维护线程消息队列:GUI线程维护线程消息队列一开始没有消息的,只有当线程第一次调用GDI函数的时候,系统消息队列才会产生消息,然后把消息发送给线程消息队列非队列消息硬件消息被投递到系统消息队列中GUI消息会被投递到线程消息队列中SendMessage直接发送消息到窗口区别队列消息发送到消息队列后直接返回,不等待非队列消息直接发送消息到窗口,直到窗口做出响应才返回

2020-10-12 18:20:24 80

原创 0x2、标志寄存器之状态寄存器

CPU内部的寄存器中,有些特殊的寄存器有一下三种作用:1、用来存储相关指令的某些结果2、用来为CPU执行相关指令提供行为依据3、用来控制CPU的工作方式这种寄存器被称为标志寄存器FLAG8086CPU中标志寄存器是16位的。0x1、ZF标志(Zero Flag)ZF标志是FLAG寄存器的第六位。零标志位他记录指令执行后,其结果是否为0。如果结果为0,ZF= 1如果结果不为0,ZF= 0例如:mov ax,1sub ax,1执行后ax的值为0,则ZF = 10x2、P.

2020-10-12 18:19:37 1616

原创 0x1、寄存器

通用寄存器8086的所有CPU都是16位的,可以存放两个字节。AX、BX、CX、DX这四个寄存器通常用来存放数据,被称为通用寄存器。因为8086CPU上一代都是8为的寄存器。因此,为了兼容上一代寄存器,AX、BX、CX、DX这四个寄存器都是两个可以独立使用的寄存器AX可以分为AH和ALBX可以分为BH和BLCX可以分为CH和CLDX可以分为DH和DL都可以分为高8位和第8位16位的寄存器可以当作一个寄存器使用,也可以当作两个独立的寄存器使用AX的大小为1个WORD == 2BY

2020-10-12 18:19:21 723

原创 0x3、标志寄存器之控制寄存器

0x1、DF(Direction)FLAG寄存器的第10位。方向标志位用于串操作指令中,控制地址变化的方向。DF = 0,存储器地址自动增加DF = 1,存储器地址自动减少CLD,用来复位DF的,执行后DF = 0 (Clear DF)STD,用来设置DF的,执行后DF = 1 (Set DF)0x2、IF(Interrupt - enable Flag)FLAG寄存器的第九位。中断允许标志用于外部可屏蔽中断是否可以被外部处理器响应。IF = 1,允许中断IF = 0,禁止中断

2020-10-12 18:18:59 566

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除