检查加载的组件中的窗口是否打开

时间:2018-04-25 22:41:22

标签: c# .net wpf windows .net-assembly

我有以下代码,单击按钮以从另一个application.exe打开一个窗口

gAssembly = Assembly.LoadFrom(JLDBConnection.Properties.Settings.Default.DefaultString + @"\JLRetailTerminal.exe");
Type typ = gAssembly.GetExportedTypes().Where(s => s.Name == "RetailWindow").FirstOrDefault();
typ.GetMethod("Show").Invoke(Activator.CreateInstance(typ), null);

gAssembly是一个全局变量 我怎样才能检查" RetailWindow"已经打开,不打开另一个窗口?

2 个答案:

答案 0 :(得分:0)

你是唯一创造它的人吗?如果是这样,您可以存储窗口实例并检查IsVisible:

即:

g_wnd = (Window)Activator.CreateInstance(type);

if (!g_wnd.IsVisible)
{
}

答案 1 :(得分:0)

完整解决方案。

excel