`

将窗口移动到前端

阅读更多

将窗口移动到前端, BringWindowToTop() 的问题 有一段代码,是在我们的应用程序中将其他应用程序的窗口移动到最前端,当我们的程序在 Vista 下运行的时候遇到了些问题,有时候被移动窗口只是闪动任务栏上的按钮,并未能将窗口移动到前方来. 研究了一下,发现是否能够移动成功和当前自身进程所附加的输入上下文有关, 参见
WIN32 API AttachThreadInput()...
 
写了个 MyBringWindowToTop() 如下, 这是个 draft 把我用到过的能把窗口拿到最前方的 API 都罗列在里面了, 也没有正确的返回值, 供参考.
 
BOOL MyBringWindowToTop(HWNDhWnd)
{
  
    HWNDhFrgWnd = ::GetForegroundWindow();
    AttachThreadInput( GetWindowThreadProcessId(hFrgWnd, NULL), GetCurrentThreadId(), TRUE );
    ::SetForegroundWindow(hWnd);
    ::BringWindowToTop(hWnd);
   
    if(!::BringWindowToTop(hWnd))
    {
        printf("BringWindowToTop Error %d\n", GetLastError());
    }
    else
    {
        printf("BringWindowToTop OK\n");
    }
    if(!::SetForegroundWindow(hWnd))
    {
        printf("SetForegroundWindow Error %d\n", GetLastError());
    }
    else
    {
       printf("SetForegroundWindow OK\n");
    }
   
    SwitchToThisWindow(hWnd, TRUE);
   
    AttachThreadInput(GetWindowThreadProcessId(hFrgWnd, NULL),
        GetCurrentThreadId(), FALSE);
 
    returnTRUE;
}

 

分享到:
评论

相关推荐

    悬浮于界面可随手指移动的按钮

    本资源里面包含一个浮于界面之上的一个按钮,手机可以移动到任意一个地方,并且可实现点击功能。按钮处于某个地方无操作三秒后回到初始位置,挡着这个是可以随意控制的,回到桌面贴边也行,地方比较随意。里面采取了...

    前端面试题.md

    ,这条语句的作用将元素从文档流中拖出来,将不占用原来元素的空间,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父级元素进行绝对定位。如果不存在就逐级向上排查,直到相对于body元素...

    移动鼠标实时显示所处坐标及颜色

    移动鼠标,前端显示的透明窗口跟随鼠标箭头,实时显示鼠标箭头所处坐标及该座标屏幕颜色,按ESC退出软件

    将元素显示到屏幕正中间

    将一个HTML元素显示到屏幕的正中间,并且当浏览器窗口大小改变及拖动滚动条时,元素依然保持在正中间。

    可拖动、最小化、最大化的弹出窗口

    可拖动、最小化、最大化的弹出窗口,用javascript编程代码实现的,很不错的啊.

    给 CSDN 博客开发 Chrome 插件-标签管理-源码

    5. 将选项卡移动到同一窗口并将它们分组。 6. 使用 TabGroups API 重命名选项卡组。 原文链接:https://blog.csdn.net/baofs/article/details/129279733 适合人群: 1. Chrome 插件初学者 2. 前端开发 3. 初级...

    xyplayer 基于QT4的Mplayer前端

    xyplayer 基于QT4的Mplayer前端 可以双击全屏播放。 支持热键 实现一个磁力播放列表 无论主窗口怎样移动,播放列表一直跟随。 尊重别人劳动成果--转载请注明出处

    用CSS做一个移动界面

    这是一个CSS作业可以学习CSS技术,掌握前端技术,走上

    layer.js 前端下载

    layerJS是一个开源的 Javascript UI/UX 库,可为 Web 应用程序和网站提供直观、视觉强烈、类似于移动应用程序的体验。 UX 模式,如菜单、滑块、图层和灯箱、视差效果、页面滑动、缩放效果等,实际上只是交互式动画...

    窗口拖拽效果.rar

    vue实现窗口拖拽效果,主要使用鼠标按下、鼠标移动和鼠标抬起三个事件。并且限制鼠标移动位置不能超过页面可视区域。

    前端学习笔记(不断更新中)

    1.img标签中alt:图片加载失败时的提示文字 2.a标签中的target: _blank:在新窗口中打开被链接文档 _top:在窗口主体中打开被链接文档 ...# 自动将焦点移动到绑定的元素 6.单选框(更好的可访问性) [外

    前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)

    之前在一个移动端的抽奖页面中,在抽奖结果的展示窗口需要弹幕轮播显示,之前踩过一些小坑,现在总结一下前端弹幕效果的实现方式。 css3实现乞丐版的弹幕 css3弹幕性能优化 canvas实现弹幕 canva弹幕的扩展功能 ...

    Web前端开发基础:使用JavaScript实现验证效果.ppt

    2 教学内容 1 单元目标 3 动手实践 4 课堂小结 教学内容 事件的含义 JavaScript事件处理 JavaScript表单事件 JavaScript鼠标事件 JavaScript键盘和窗口事件 综合应用 事件是一些可以通过脚本响应的页面动作。...

    基于窗口的ChatgptQQ机器人.zip

    包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python...

    JS中setTimeout的巧妙用法前端函数节流

    或者是说我们常见的鼠标移入移出tab切换效果,有时候连续且移动的很快的时候,会有闪烁的效果,这时候我们就可以使用函数节流来操作。大家都知道,DOM的操作会很消耗或影响性能的,如果是说在窗口缩放的时候,为元素...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    Chrome Frame 会把最新版的Chrome Webkit 内核和JavaScript 引擎注入到IE中, IE浏览器将获得Chrome的性能和功能 目录 摘要 I ABSTRACT II 专业名词清单 III 第一章 绪论 1 1.1 研究背景与意义 1 1.2国内外相关...

    功能强大的通用组件库

    可以:读写注册表、重启系统、设置程序在启动时自动运行、取操作系统类型和版本信息、像 Windows 一样批量的拷贝文件、将文件删除到回收站、播放多媒体文件、取域名、域下的所有组和用户、启动停止服务、RAS 自动...

    invidious:Invidious是YouTube的替代前端

    仅显示看不见的视频仅显示每个频道的最新(或最新未看过的)视频提供所有订阅频道的通知自动将首页重定向到供稿从YouTube导入订阅纯音频模式(无需在移动设备上保持窗口打开) 暗模式嵌入支持设置默认播放器选项...

    JavaScript简单实现弹出拖拽窗口(二)

    接上文JavaScript简单实现弹出... 1、要让窗口能自由移动,那么窗口的定位(position)应该采用绝对定位(absolute);  /*登录浮层组件*/ .popup{ display:none; /*初始隐藏*/ width: 380px; height: auto;

    Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端.zip

    社交属性强:小程序可以无缝嵌入微信生态,支持分享至聊天窗口、朋友圈等社交场景,有利于用户间的传播和裂变增长。 丰富接口能力:提供丰富的API接口,可调用微信支付、位置服务、用户身份识别等多种功能,方便...

Global site tag (gtag.js) - Google Analytics