我打算创建一个可以用于所有桌面应用程序的许可模块。因此,我想在现有应用程序中使用此许可模块激活的任何代码都不会变得如此简单。
那么有没有办法,如果用户通过exe位置,系统应该捕获特定位置可用的exe,系统应该获得该exe内可用的所有窗体?
我不确定是否可能,但我需要知道是否有办法做到这一点。对我来说,有助于减少并发症的发生。
答案 0 :(得分:0)
您可以从其路径中读取实际的可执行映像数据,如果是托管(.NET)可执行文件,您可以使用元数据进行一些分析。在这种情况下,您可以浏览可执行程序集中的所有类型(以及可能是同一目录中的其他程序集),并查找从System.Windows.Forms.Form
继承的类/类型的数量。
但是,考虑到这些应用程序可能在您的控制之下,更合理的方法是在这些可执行文件中使用公共API,它将为您提供相关信息。
答案 1 :(得分:0)
伙计们我找到了解决方案......我使用了以下方法...
Assembly SampleAssembly = Assembly.LoadFrom("Assembly path here");
// Display all the types contained in the specified assembly.
foreach (Type oType in SampleAssembly.GetTypes())
{
Console.WriteLine(oType.Name);
}
这对我很有用....
VinayC感谢您的支持伙伴...真的很感激....:)