我有一个在 Citrix 服务器上运行的应用程序实例。我最近的任务是为该软件编写一个插件,并且出于与软件在我工作的地方的部署方式有关的原因,该插件实际上只是执行位于远程服务器上的另一个软件,该服务器实际完成工作并等待该过程结束(这对用户隐藏)。
有时,此外部软件必须显示带有消息框的消息。为了确保它出现在应用程序之上,我使用了带有该应用程序句柄的 user32 消息框方法。
[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern MessageBoxResult MessageBox(IntPtr hWnd, String text, String caption, int options);
public static MessageBoxResult ShowMessageBox(IntPtr windowHandle, string text, string caption, MessageBoxOptions options)
{
return MessageBox(windowHandle, text, caption, (int)options);
}
当应用程序在本地计算机上运行时效果很好,但是当它通过 Citrix 运行时,消息框不再显示在顶部。有谁知道如何使 Citrix 版本像本地版本一样运行?