首页 / 知识
关于winapi:如何从隐藏的窗口应用程序中显示对话框?
2023-04-13 19:58:00

How do you display a dialog from a hidden window application?我开发了一个 COM 组件 (dll),它实现了一个显示 WTL 模式对话框的 Edit() 方法。 这个 COM 组件的完整接口对应于化学过程工业中使用的软件标准 (CAPE-OPEN),因此这个 COM 组件应该可以被我不知道的一系列第 3 方可执行文件使用控制。 我的组件在许多这些 EXE 中都按预期工作,但特别是其中一个 Edit() 方法只是挂起而没有出现对话框。 但是,如果我在 我怀疑问题可能与这个作为"隐藏窗口应用程序"运行的特定 EXE 有关。 我尝试使用 NULL 和 对话框本身是一个 ATL/WTL CPropertySheetImpl。 有问题的父应用程序 (EXE) 不受我的控制,因为它是由(轻度敌对的)第 3 方开发的。 我知道我可以成功地调用 谁能建议我如何在不先显示不必要的 MessageBox 的情况下让它显示对话框?我知道这是可能的,因为我已经看到这个 EXE 显示来自其他 COM 组件对应于同一接口的对话框。 原来我错了:
所以现在我只需要找出如何将我的对话放在前面。 感谢您的回答;-) 这不应该是可靠的 - 但尝试 ::GetDesktopWindow() 作为父级(它返回一个 HWND)。 请注意 - 如果您的应用程序崩溃,它会导致桌面崩溃。但我很想看看它是否有效。 根据"隐藏窗口"应用程序的工作方式,它可能无法显示窗口。例如,服务没有"主消息循环",因此无法在进程中处理发送到窗口的消息。即,显示窗口的应用程序应具有以下内容:
在 WinMain 中。 您是否为对话框使用父级?例如
如果是,请尝试删除父级。特别是如果父级是桌面窗口。 无论您做什么,都不要将桌面窗口用作模态对话框的父窗口。 解释见这里:http://blogs.msdn.com/b/oldnewthing/archive/2004/02/24/79212.aspx 引用理由:
|
最新内容
相关内容
linux中ps命令显示?
linux中ps命令显示?,系统,信息,状态,进程,命令,多地,软件,工作,基础,报告,linux命令大全之ps命令详解1、su:用户切换 格式:su [选项] [使用者]linux命令逐页显示?
linux命令逐页显示?,系统,工作,地址,命令,网上,信息,百度,基础,标准,内容,在linux里有些命令显示的内容太多了,要网上翻页,怎么办?用shift+pag显示等号linux命令?
显示等号linux命令?,工作,地址,信息,系统,命令,目录,标准,管理,基础,常用命令,linux常用命令及用法linux常用命令: pwd命令 该命令的英文解释linux中显示路径命令?
linux中显示路径命令?,系统,地址,工作,信息,时间,命令,数据,网络,路径,名字,linux系统常用操作命令1、linux常用命令有pwd命令、cd命令、ls命linux命令多显示几行?
linux命令多显示几行?,实时,系统,标准,数据,档案,命令,文件,最新,信息,状态,linux取出某几行?在linux系统中,从文件中查找包含某关键字的内容,可linux命令行显示键值?
linux命令行显示键值?,系统,环境,管理,文化,国家,信息,工具,数据,软件,项目,Linux深入探索16-区域设置:locale1、locale 命令是 Linux 系统中linux用命令显示键盘?
linux用命令显示键盘?,系统,信息,工具,电脑,键盘,分析,设备,数据,通用,工作,Linux系统中使用屏幕键盘的方法然后用编辑器打开欢迎界面配置文件linux命令分行显示?
linux命令分行显示?,数据,分行,系统,时间,最新,百度,实时,命令,文件,内容,linux中,要显示一百行到一百五十行的内容怎么输入命令?谢谢坐等_百linux显示路径命令?
linux显示路径命令?,系统,信息,工作,数据,名称,位置,标准,环境,时间,命令,linux如何查看root用户目录路径?1、建目录时,不指定绝对路径时,可以用linux简单的显示命令?
linux简单的显示命令?,工具,管理,系统,档案,工作,信息,命令,标准,技术,设备,Linux中如何分屏显示的命令是什么1、linux中如果想要把某个命令或linux显示用户名命令?
linux显示用户名命令?,密码,系统,信息,时间,地址,命令,用户,用户名,位置,用户信息,如何查询linux系统中所有用户的用户名和密码1、首先进入到llinux下命令显示行号?
linux下命令显示行号?,工作,地址,系统,信息,命令,档案,文件,名称,观察,实时,Linux中显示一个文件最后几行的命令是什么?1、tail -n 20 filenam