zoukankan      html  css  js  c++  java
  • 用易语言拦截窗口消息(带例程)

    易语言等可视化编程已经将视窗消息封装为对象的属性、方法和事件。当我们在窗口中按下鼠标左键,欲出现信息“你点击了窗体”,在易语言中是这样编写的:
    子程序:__启动窗口_鼠标左键被按下
    返回值类型:逻辑型
    参数:横向位置 数据类型:整数型
    参数:纵向位置 数据类型:整数型
    参数:功能键状态 数据类型:整数型
    信息框 (“你点击了窗体”, 0, )
    但是如果不用“__启动窗口_鼠标左键被按下”事件能否达到这样的结果?由于对象的事件也只不过是视窗消息的封装,所以我们可以用视窗消息实现这样的功能。
    我们需要用到两个API函数:拦截窗口消息函数SetWindowLongA(置窗口信息)、回调函数CallWindowProcA(调窗口信息)。SetWindowLongA用于随时拦截各种窗口消息,通过判断不同的消息类型执行不同的代码(类似于易语言“事件”的作用);CallWindowProcA用于没有出现需要的消息类型时,将程序的消息返回到操作系统中,使操作系统继续用SetWindowLongA来拦截窗口消息。

    1

    2

    源代码图例:

    3

    源代码下载

  • 相关阅读:
    字符串与Json操作
    默认让IE用最高文档模式浏览网页
    MVC中简单的文件下载代码
    2017年1月22日
    JDK环境变量设置
    如何实现windows命令提示符的tab补全
    win7热点设置
    为什么小米5不能适配win7
    各种错误锦集
    插头DP
  • 原文地址:https://www.cnblogs.com/hackpig/p/1668251.html
Copyright © 2011-2022 走看看