在Citrix中控制消息框

时间:2013-11-08 17:06:21

标签: c# .net messagebox citrix

我有一个在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版本的行为像本地版本?

1 个答案:

答案 0 :(得分:0)

我通过在消息框上设置最顶层的标志来解决这个问题。这不是我想要的,但它最好不要让消息框最初显示在最顶层。