创建类似软键盘的无焦点对话框程序

2023-11-19

如果想创建一个类似windows里的屏幕键盘式的程序,由于需要将模拟键盘的输入发送到原来处于活动状态的程序,因此,我们的程序应该不改变原来的焦点。在vc6和vc#中可以通过以下方式实现:

1. VC6.0

在对话框的OnInitDialog()函数最后的初始化处,添加以下代码:

// TODO: Add extra initialization here

     LONG exs = GetWindowLong(this->m_hWnd, GWL_EXSTYLE);

     exs |= 0x08000000;//始终不处于活动状态

 

     SetWindowLong(this->m_hWnd,GWL_EXSTYLE, exs);

     SetWindowPos(&CWnd::wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE);

2. VC#

在.net平台下,可以同样导入API实现无焦点程序,方法如下:

 

using System.Runtime.InteropServices;

 

namespace CardDisp

{

     public partial class Form1 : Form

     {

         [DllImport("user32.dll", EntryPoint="GetWindowLong")]

         public static extern int GetWindowLong(IntPtr hWnd, int type);

         [DllImport("user32.dll", EntryPoint = "SetWindowLong")]

         public static extern int SetWindowLong(IntPtr hWnd, int type,int dwNewLong);

 

         public Form1()

         {

              InitializeComponent();

         }

 

         private void Form1_Load(object sender, EventArgs e)

         {           

              Int32 exs = GetWindowLong(Handle, -20);

              exs |= 0x08000000;//始终不处于活动状态

              SetWindowLong(Handle,-20, exs);

         }

     }

}   

转载于:https://www.cnblogs.com/rogee/archive/2011/02/15/1954964.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建类似软键盘的无焦点对话框程序 的相关文章

随机推荐

  • ​【机器学习】数据科学中 17 种相似性和相异性度量(上)

    本文解释了计算距离的各种方法 并展示了它们在我们日常生活中的实例 限于篇幅 便于阅读 将本文分为上下两篇 希望对你有所帮助 There is no Royal Road to Geometry 欧几里得 简介 相似性和相异性 在数据科学中
  • JFinal DB.tx()事务

    1 发现问题 1 功能实现逻辑 添加一个新的系统的时候 先添加系统本身 即名称 地址 简介 将这些存入system表 得到system id 添加系统所处的服务器 由于有专门的添加服务器功能 所以这里的服务器只用填地址 如果地址对应服务器不
  • Qt设置软件启动动画(支持图片和视频俩种方式)

    目录 软件启动动画效果 静态背景 动态背景 程序启动动画 QSplashScreen 启动时加载静态图片 启动时加载视频动画 将启动动画置于所有窗口顶层 软件启动动画效果 先来看效果 下面录制了加载图片和gif动图的俩种效果 静态背景 动态
  • Mysql主从复制

    Mysql主从复制原理 1 主库开始二进制日志 binlog 2 从库执行change master 执行主库 此时主库会创建一个dump线程 用于向从库发送二进制日志 3 从库执行 start slave 开启IO SQL线程 IO线程
  • 搞懂 Vision Transformer 原理和代码,看这篇技术综述就够了

    点击上方 视学算法 选择加 星标 或 置顶 重磅干货 第一时间送达 作者丨科技猛兽 编辑丨极市平台 Transformer 是 Google 的团队在 2017 年提出的一种 NLP 经典模型 现在比较火热的 Bert 也是基于 Trans
  • QFileInfo主要函数详解

    部分内容来自 https blog csdn net Amnes1a article details 65444966 QFileInfo主要函数详解 QFileInfo简介 扩展 文件名和路径类 文件访问权限类 文件所有者类 文件相关日期
  • 将XML格式文件转换JSON文件格式

    XMl文件转JSON字符串 1 1Maven引入依赖
  • 光栅尺的相关知识

    光栅尺的相关知识 1 光栅尺的原理 2 光栅尺的精度 3 光栅尺的制造 4 增量式光栅尺和绝对式光栅尺的区别 5 光栅尺的选择 6 光栅尺与编码器 1 光栅尺的原理 我们可以类比普通卷尺 尺子上面有刻度 以这些刻度作为基准 你只需要把要测的
  • texlive支持中文的简单方法

    1 确保tex文件的编码方式是UTF 8 2 在文档开始处添加一行命令即可 即 usepackage UTF8 ctex 如下所示 documentclass article usepackage UTF8 ctex begin artic
  • [机缘参悟-86]:清心寡欲,世外修行 ?负剑下山,闯荡江湖?

    天地者 万物之逆旅也 光阴者 百代之过客也 而浮生若梦 为欢几何
  • Android Fragment 真正的完全解析(下)

    本篇将介绍上篇博客提到的 如何管理Fragment回退栈 Fragment如何与Activity交互 Fragment与Activity交互的最佳实践 没有视图的Fragment的用处 使用Fragment创建对话框 如何与ActionBa
  • 5月10日 ksjsb抓包教程,小黄鸟无需ROOT抓包

    1 先下载抓包工具 小黄鸟 自己搜索 注意 这里下载完小黄鸟app后 安装打开时 该下载的安全证书下载 手机root权限该给的都给 2 打开小黄鸟工具 添加目标应用 快手极速版 3 启动小黄鸟 然后退出让它后台运行 打开快手极速版到菜单栏找
  • Windows下PP-Tracking多目标跟踪数据训练

    PP Tracking之手把手玩转多目标跟踪 飞桨AI Studio 人工智能学习与实训社区PP Tracking之手把手玩转多目标跟踪 飞桨AI Studio 人工智能学习与实训社区https aistudio baidu com ais
  • IDEA2023.1.3自带插件禁用,减少内存占用

    前言 前两个星期安装了idea2023 1 3 之前用的一直是idea2020 3版本 我发现新版界面确实更好看一些 而且启动速度也非常快 打开多个项目也一样很快 都是秒开 但是吧 它的内存占用比idea2020 3版高了很多 刚打开的时候
  • TensorRT Samples: GoogleNet

    关于TensorRT的介绍可以参考 http blog csdn net fengbingchun article details 78469551 以下是参考TensorRT 2 1 2中的sampleGoogleNet cpp文件改写的
  • 【前端面经】instanceof相关知识

    原理 instanceof是javascript语言中的一个运算符 用于检测一个对象是否是一个类或者构造函数的实例 它的语法是boject instanceof constructor 其中object是要检测的对象 constructor
  • JS常见加密 AES、DES、RSA、MD5、SHAI、HMAC、Base64(编码) - Python/JS实现

    JS常见加密 AES DES RSA MD5 SHAI HMAC Base64 Python JS实现 文章目录 JS常见加密 AES DES RSA MD5 SHAI HMAC Base64 Python JS实现 前言 一 编码 加密
  • 数据结构(C语言)——双链表

    有了单链表的编写经验 双链表变得格外容易 点击看前一篇 单链表 下面是代码 include
  • 三类XML文件的解析方法

    XML文件的解析 mybatis的学习当中 配置的加载传统的是通过解析用户配置的文件 获取到数据库连接与对象实体映射关系的 书中有描述到DOM SAX StAX 几种方案 一方面是夯实基础 一方面是了解三种方法的优缺点 今天就学习一下XML
  • 创建类似软键盘的无焦点对话框程序

    如果想创建一个类似windows里的屏幕键盘式的程序 由于需要将模拟键盘的输入发送到原来处于活动状态的程序 因此 我们的程序应该不改变原来的焦点 在vc6和vc 中可以通过以下方式实现 1 VC6 0中 在对话框的OnInitDialog