首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >标识活动的iup对话框

标识活动的iup对话框
EN

Stack Overflow用户
提问于 2019-01-09 20:40:00
回答 2查看 61关注 0票数 0

我正在编写一个lua程序,它需要调用另一个活动程序(环境是Windows)作为外部库/API提供的外部弹出窗口(让我们称之为Poppy)。

Poppy有一个坏习惯;当调用它时,它会弹出,完成它的工作,然后消失--把当前的Lua对话框隐藏在Poppy的父程序后面。

在调用Poppy之后,dlg.BRINGFRONT="YES"将把iup对话框dlg带到前面。

有没有一种技术可以确定dlg应该是什么--即在调用外部API之前,最上面的iup对话框是什么?

我已经阅读了iup文档,看不到有什么方法可以做到这一点。但是,由于我需要在大量实例中调用Poppy,因此我想简化将当前对话框放在前面的过程。

我这样调用Poppy:

代码语言:javascript
复制
local res = Poppy('INDI')
dlg.BRINGFRONT="YES"
return res
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-11 01:13:10

我已经使用Winapi library和下面的代码成功地做到了这一点:

代码语言:javascript
复制
winapi = require ("winapi")
currentwin = winapi.get_foreground_window()
--invoke Poppy here and wait for control to return
currentwin:set_foreground()
票数 0
EN

Stack Overflow用户

发布于 2019-01-09 21:46:08

在Windows中调用Poppy的代码中,您可以调用:

代码语言:javascript
复制
HWND dlg_handle = GetActiveWindow();

然后,当Poppy返回时,调用:

代码语言:javascript
复制
SetForegroundWindow(dlg_handle);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54110401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档