首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

游戏编程之二 windows编程基础

菜单、标题条、控制块以及滚动条等都是图形对象的例子。下一部分描述一些影响应用程序外观的新的图形对象。 图标   图标是用来使用记住特定操作、想法或产品的小图形对象。...但是,可以用鼠标来改变编辑光标的输入点。 消息框   消息框是另一类Windows图形对象。消息框是一种包含标题、图标和消息的弹出式窗口。图(?)...第十一节 MFC的基本概念 基础类库为你提供了易于使用的对象。将Windows与C++联系起来是很自然的,这样就可以充分利用面向对象技术的优点。...菜单、标题条、控制块以及滚动条等都是图形对象的例子。下一部分描述一些影响应用程序外观的新的图形对象。 图标   图标是用来使用记住特定操作、想法或产品的小图形对象。...但是,可以用鼠标来改变编辑光标的输入点。 消息框   消息框是另一类Windows图形对象。消息框是一种包含标题、图标和消息的弹出式窗口。图(?)

7110

锁定屏幕相关知识「建议收藏」

WH_JOURNALPLAYBACK Hook 返回超时值,这个值告诉系统在处理来自回放 Hook 当前消息之前需要等待多长时间(毫秒)。这就使 Hook 可以控制实时事件的回放。...而且最近安装的钩子放在链的开始,而最早安装的钩子放在最后,也就是后加入的先获得控制权。   ( 3 ) 钩子特别是系统钩子会消耗消息处理时间,降低系统性能。...(1) 在 VC ++ 6.0 中利用 MFC APPWizard ( EXE )生成一个不使用文档 / 视结构的单文档应用 mousehook 。...HWND glhDisplayWnd=NULL; // 显示目标窗口标题编辑框的句柄 HHOOK glhHook=NULL; // 安装的鼠标钩子句柄...m_hook.starthook(pwnd->GetSafeHwnd()); // 取得编辑框的窗口句柄并安装钩子 return TRUE;

1.2K11
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    VC++6.0入门——第六讲 菜单编程

    这是MFC AppWizard为Menu这个单文档程序自动创建的一个主菜单。双击这个菜单资源名称,即可在VC++开发界面的右边窗格中打开菜单编辑器。如图所示。...在MFC中,通过菜单项的标识(D)来区分不同的命令消息:在SDK中,通过消息的 wParam参数识别。从CCmdTarget派生的类,都可以接收到这类消息。...菜单的结构文件下的整个部分是一个子菜单创建标记菜单比如在文件下面加一个标记菜单指向整个菜单的指针指向子菜单的指针// 获取指向CMenu对象的指针// 1.按照索引访问GetMenu()->GetSubMenu...仍把这个菜单对象定义为局部对象,但在调用SetMenu函数把此对象设置为窗口的菜单之后,立即调用CMenu类的另一个成员函数Detach,以便把菜单句柄与这个菜单对象分离。...而随后的Detach函数会把菜单句柄与这个菜单对象分离,这样,当这个局部菜单对象的生命周期结束时,它不会去销毁一个它不再具有拥有权的菜单。这个菜单在窗口销毁时会自动销毁。

    10630

    MFC控件编程之 按钮编辑框.静态文本的使用,以及访问控件的七种方法.

    MFC控件编程之 按钮编辑框.静态文本的使用以及访问控件的七种方法. 一丶按钮.静态文本的通用属性.   他们都有一个属性.就是可以输入标题内容.以及可以自定义控件ID....SetDlgItemText(控件ID.字符串); 二丶编写代码.获取编辑框中的字符串的个数. 双击按钮.我们可以响应按钮点击消息.在按钮点击消息中获取编辑框的内容.并且设置到静态文本上....PS: 我们如果在MFC中使用API .需要加上全局访问符号.:: 也就是四饼....(指定窗口的句柄,控件ID)获取根据控件ID寻找的窗口句柄.然后自己继续调用 ::GetWindowText(句柄.缓冲区) 来进行获取....MFC中都是消息驱动的.那么我们也有API可以进行发消息操作. ::SendMessage(控件id的句柄,消息类型,大小.附加参数.)

    3.6K30

    多线程编程10个例子--1

    由此可见,如果两个非常活跃的线程为了抢夺对CPU的控制权,在线程切换时会消耗很多的CPU资源,反而会降低系统的性能。这一 点在多线程编程时应该注意。   ...(一般为同步对象,也可以是线程)的句柄; dwMilliseconds为hHandle对象所设置的超时值,单位为毫秒;   当在某一线程中调用该函数时,线程暂时挂起,系统监视hHandle所指向的对象的状态...如果在挂起的dwMilliseconds毫秒内,线程所等待 的对象变为有信号状态,则该函数立即返回;如果超时时间已经到达dwMilliseconds毫秒,但hHandle所指向的对象还没有变成有信号状态...virtual BOOL CWinThread::InitInstance();   重载该函数以控制用户界面线程实例的初始化。初始化成功则返回非0值,否则返回0。...用 MFC 类库编程实现工作者线程 例程5 MultiThread5 为了与Win32 API对照,我们使用MFC 类库编程实现例程3 MultiThread3。

    2.5K50

    游戏编程之三 DirectX SDK简介

    控制图标 控制图标是每个窗口左上方的小图片,每个应用程序都使用它。在控制图标上单击鼠标键会使Windows显示系统菜单。 系统菜单 当用鼠标单击控制图标时就打开了控制菜单。...后者被用于显示当前显示内容与整个文档(着色的棒)的关系。你可以用滚动条来选择显示哪一页。一般在任何一个箭头上单击一下会使显示内容移动一行。...菜单、标题条、控制块以及滚动条等都是图形对象的例子。下一部分描述一些影响应用程序外观的新的图形对象。 图标   图标是用来使用记住特定操作、想法或产品的小图形对象。...但是,可以用鼠标来改变编辑光标的输入点。 消息框   消息框是另一类Windows图形对象。消息框是一种包含标题、图标和消息的弹出式窗口。图(?)...窗口消息中定义的第一个参数是消息所关联的窗口句柄。   在编写Windows应用程序的时候经常使用句柄。

    16300

    (以MFC框架讲解)

    (以MFC框架讲解) 一丶什么是框架,以及框架的作用 什么是框架?   框架,简而言之就是把东西封装好了,使用框架开发可以快速开发程序,例如MFC程序的双击写代码....二丶通过MFC但文档,理解其设计方式. 因为是第一讲,所以从头讲起. MFC单文档框架其底层是封装的SDK的消息循环 首先我们要实现自己的框架,就要封装类了.怎么封装,或者说哪里比较困难? 1....根据MFC单文档框架可以得出继承关系图....MFC但文档的框架 1.封装WinMain 2.自己的WMain中执行初始化代码.初始化用户的全局对象 因为我们显示窗口或者注册窗口的时候,需要调用用户的InitInstance进行初始化....添加的时候会遇到的问题 1.窗口过程函数没有.这个需要封装,但是因为是第一讲,所以暂时不封装 2.实例句柄没有,这个时候我们需要保存一下实例句柄 定义一个接口即可.

    1.7K110

    MFCC++学习系列之简单记录7——句柄和AFX开头的函数的使用

    前言在MFC的使用中发现了句柄,今天来详细学习一下MFC中如何使用句柄吧!句柄的介绍句柄的使用是资源管理和传递的关键机制,通过句柄将系统资源或对象进行传递使用。...菜单句柄(HMENU):用于唯一标识菜单对象。画笔句柄(HPEN):用于引用画笔对象画刷句柄(HBRUSH):用于引用画刷对象图标句柄(HICON):用于引用图标资源。...:\\example.txt", // 文件名 GENERIC_READ, // 访问模式 0, // 共享模式 NULL, /...常用的有一下几个:AfxWinInit():用于初始化MFC应用程序。AfxGetApp():返回指向当前应用程序对象(CWinApp派生对象)的指针。...AfxMessageBox():类似于Win32 API中的MessageBox函数,用于显示消息框。AfxOuputDebugString():将字符串输出到调试装置。

    14400

    利用键盘钩子捕捉linux键盘动作,利用键盘钩子捕获Windows键盘动作

    通常需要记录的信息是多种多样的,如环境温度记录、软件运行记录、文件访问记录等等。这里将以键盘信息记录为例来讲述类似的实验信息自动记录的一般实现方法。  ...钩子的种类有很多,每种钩子可以截获并处理相应的消息,每当特定的消息发出,在到达目的窗口之前,钩子程序先行截获该消息、得到对此消息的控制权。...另外创建一个单文档应用程序,把所需的动态链接库头文件、lib库复制到工程目录中,将动态链接库复制到Debug目录下。...钩子的种类有很多,每种钩子可以截获并处理相应的消息,每当特定的消息发出,在到达目的窗口之前,钩子程序先行截获该消息、得到对此消息的控制权。...另外创建一个单文档应用程序,把所需的动态链接库头文件、lib库复制到工程目录中,将动态链接库复制到Debug目录下。

    2.7K10

    QT和MFC的优缺点比较

    伪对象 vs 真对象 归根结底,Qt和MFC的差异在于其设计的差异。 MFC的根本目的是访问包装起来的用C语言写的windows的API。...永远可以马上访问任何的方法,不管它是显示还是隐藏。在这里没有迷局,一切都按照你认为的简单的方式来运作。 消息循环 MFC是事件驱动的架构。要执行任何操作,都必须是对特定的消息作出响应。...Qt的消息机制是建立在SIGNAL()发送和SLOT()接受的基础上的。这个机制是对象间建立联系的核心机制。利用SIGNAL()可以传递任何的参数。他的功能非常的强大。...Qt Designer可以让你完成许多在MFC中不可能完成的任务,比如用预先填好的生成listview,在每个tab上用不同的view来使用tab 控制。...资源编辑器仅有有限的功能,比如:通过Dialog编辑器不可能改变所有的属性,一些属性可以改变,另一些属性则不可能改变。

    2.5K20

    VC++6.0入门——第九讲 定制应用功能程序外观

    那么我们如何才能获取到当前应用程序的句柄呢?MFC为我们提供了一个全局函数:AfxGetInstanceHandle,可以用来获取当前应用程序的实例句柄。...该类有一个数据成员:m hInstance,标识了应用程序当前的实例,也就是说,如果我们能获取到应用程序的CWinApp对象,就可以利用这个对象来调用它的m_hInstance数据成员,从而得到应用程序当前的实例句柄...这样,我们就可以利用这个全局对象来调用其内部的数据成员。...MFC提供了一个全局函数:AfxGetApp,可以获得当前应用程序对象的指针。因为这个函数是全局函数,所以在应用程序的任意地方都可以调用它。...在本程序中,利用AfxGetApp函数的返回值来访问应用程序的m hInstance数据成员。

    9110

    WINDOWS核心编程--Windows程序内部运行机制

    ---分派一个消息到窗口过程 PeekMessage windows应用程序的消息处理机制 编写窗口过程函数 匈牙利命名法 变量属性 属性部分: 类型部分: MFC、句柄、控件及结构的命名规范: Windows...窗口通过句柄识别:HWND 创建各种资源的时候也会返回他们的句柄:图标句柄HICON,光标句柄HCURSOR 消息与队列 系统反过来调用用户进程---------这个调用通过–消息—实现 事件驱动设计程序...要在 VC++ 开发环境中向应用程序传递参数,可以单击菜单 【 Project 】→【 Settings 】,选择“ Debug ” 选项卡,在“ Program arguments ”编辑框中输入你想传递给应用程序的参数... Src 目的对象 Dest MFC、句柄、控件及结构的命名规范: Windows类型 样本变量;MFC类 样本变量 HWND hWnd; CWnd* pWnd; HDLG hDlg; CDialog...lpsz LPCSTR 32位常量字符串指针 lpszName lpsz LPCTSTR 如果_UNICODE定义,则为32位常量字符串指针 lpszName h handle Windows对象句柄

    1.5K50

    Qt和MFC的区别

    伪对象 vs 真对象 归根结底,Qt和MFC的差异在于其设计的差异。 MFC的根本目的是访问包装起来的用C语言写的windows的API。...永远可以马上访问任何的方法,不管它是显示还是隐藏。在这里没有迷局,一切都按照你认为的简单的方式来运作。 消息循环 MFC是事件驱动的架构。要执行任何操作,都必须是对特定的消息作出响应。...Qt的消息机制是建立在SIGNAL()发送和SLOT()接受的基础上的。这个机制是对象间建立联系的核心机制。利用SIGNAL()可以传递任何的参数。他的功能非常的强大。...Qt Designer可以让你完成许多在MFC中不可能完成的任务,比如用预先填好的生成listview,在每个tab上用不同的view来使用tab 控制。...资源编辑器仅有有限的功能,比如:通过Dialog编辑器不可能改变所有的属性,一些属性可以改变,另一些属性则不可能改变。

    1.4K41

    Qt和MF优缺点分析

    伪对象 vs 真对象 归根结底,Qt和MFC的差异在于其设计的差异。 MFC的根本目的是访问包装起来的用C语言写的windows的API。...永远可以马上访问任何的方法,不管它是显示还是隐藏。在这里没有迷局,一切都按照你认为的简单的方式来运作。 消息循环 MFC是事件驱动的架构。要执行任何操作,都必须是对特定的消息作出响应。...Qt的消息机制是建立在SIGNAL()发送和SLOT()接受的基础上的。这个机制是对象间建立联系的核心机制。利用SIGNAL()可以传递任何的参数。他的功能非常的强大。...Qt Designer可以让你完成许多在MFC中不可能完成的任务,比如用预先填好的生成listview,在每个tab上用不同的view来使用tab 控制。...资源编辑器仅有有限的功能,比如:通过Dialog编辑器不可能改变所有的属性,一些属性可以改变,另一些属性则不可能改变。

    1.4K50

    QTMFC面试题

    , 移动按钮 在窗口中拖放一个CButton按钮, 给该按钮关联一个MyButton类型的变量, 即可 9、描述MFC中文档视图结构中都需要哪些类, 这些类之间是如何实现相互访问的?...文档视图结构: 文档类 视图类 框架类 应用程序类 在MFC框架的任何位置都可以访问窗口框架类: AfxGetMainWnd() 在MFC框架的任何位置都可以访问应用程序类: AfxGetApp...() 视图类中访问关联的文档类: GetDocument() 框架类中访问文档类: GetActiveDocument() 框架类中访问视图类: GetActiveView() 10、 描述...添加消息处理函数的声明和定义 11、描述在MFC中如何使用ODBC访问Mysql数据库? 1. 安装Mysql的odbc驱动 2. 使用向导添加数据源 3....创建MFC单文档/多文档视图应用程序, 添加数据库支持, 选择数据源, 给数据源中的数据库表绑定记录集类 4.

    2.2K10

    什么是WPF_windows程序设计教程

    10 焦点消息,对于正在失去焦点的窗口,会收到WM_KILLFOCUS消息,其wParam参数是即将接收输入焦点的窗口的句柄。...11 编辑控制的WM_COMMAND消息,wParam参数的低位是子窗口ID,高位是通知码, lParam参数是子窗口句柄。...比如,对按键消息来说,鼠标的X和Y的坐标被压缩进lParam中 对MFC来说,消息可以用多样的类型参数来传递,对用户自定义消息 来说,只能用wParam和lParam来传递。...窗口可以是任何类型的屏幕对象, 因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。...* 指针,指向一个CMyClass对象,准备要发送的数据或接收数据 发送WM_MYMESSAGE时 SendMessage(hwnd,WM_MYMESSAGE,0,pMyClassObject) 接收消息的窗口

    64320

    钩子原理及实例:实现键盘钩子截获密码

    每当特定的消息发出,在没有到达目的窗口前,钩子程序就可以先捕获该消息,亦即钩子函数先得到控制权。...对每种类型的钩子由系统来维护一个钩子链表,其特点是最近安装的钩子放在链的最开始,而最先安装的钩子放在最后,也就是后加入的钩子先获得控制权,先获得应用程序消息。...第三个参数:HMod是钩子函数所在的实例的句柄。对于线程钩子,该参数为NULL;对于系统钩子,该参数为钩子函数所在的DLL句柄。...得到控制权的钩子函数在完成对消息的处理后,如果想要该消息继续传递,那么它必须调用另外一个SDK中的API函数CallNextHookEx()来传递它。...钩子函数也可以通过直接返回TRUE来丢弃该消息,并阻止该消息的传递。 执行SetWindowsHookEx(),会返回所安装的钩子句柄。

    2K21

    关于DLL注入的理解

    DLL注入方式较多,包括API拦截与替换、消息钩子、远程进程注入。通常这些注入都是针对第三方程序(下面简称目标程序)的操作。 目标程序主要分为两种,解释型和编译型。...即使采用MFC框架提供的方式,也是对编译后的程序无能为力的,因为MFC框架也只是一段普通代码,并不是WIN API,无法获取OS执行过程中的任何消息或者改变OS执行过程中的任何操作。...Windows API中使用的是句柄,C/C++中使用的是指针。两者并没有什么关系。...MFC中的对象既有指针,又有句柄,是因为这个对象留出了一个成员变量来存放WIndows窗体句柄(注意:windows窗体对象本身的指针是无法获取的,因为windows api只能获取窗体句柄)。

    55620
    领券