MS-Access 2010 - 将外部应用程序带到前台问题

问题描述

我有一个奇怪的问题。我正在尝试将外部应用程序置于 MS-Access 2010 的前面。外部应用程序 (Evince) 是使用 shell 命令打开的,如下所示:

taskID = Shell("C:\Program Files (x86)\Evince\bin\evince " & inpFile)

我有一个按钮可以将 Evince 应用程序放在前面,如下所示:

AppActivate taskID,True

如果按钮位于普通窗体或子窗体上,则此方法效果很好,其中主窗体是具有此子窗体控件的唯一打开窗体。但是,在我的应用程序中,我将子表单用作所有表单上的通用标题。现在,如果我打开另一个具有相同子窗体的窗体并单击按钮将 Evince 移到前面,我可以看到 Evince 移到前面,然后立即再次移到后面。仅当子表单在其他表单上重复使用时才会发生这种情况。

看起来 MS-Access 被混淆了,因为该按钮位于打开了多个实例的子窗体上。我尝试了很多东西,比如将焦点移到主窗体上,将代码移动到模块中的 Evince 应用程序等。但是只要按钮在一个已经打开多次的子窗体实例上,我就无法得到它工作。

有人知道如何解决这个问题吗?到目前为止,我想到的唯一解决方案是不使用子表单作为通用标题。但这意味着复制子窗体上的控件和代码几乎一百次(因为这是使用此子窗体的窗体的数量)。所以我试图避免这种情况,但如何...?

ps。此应用程序处于 rdp 环境中,用户别无选择,只能单击按钮将应用程序移至最前面。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)