如何显示正在加载的模块(DLL)的名称?
在Visual Studio.net中调试程序时,输出窗口中能显示出“正在加载 ……”信息,说明正在加载和已经加载的模块。通常是一些DLL文件。请问这个效果如何实现?
我对这个进行了初步研究,没有找到解决方法。
Assembly类中有个GetLoadedModules,可以获取作为此程序集的一部分的所有加载模块。
如果设置每隔一段时间(如0.5秒)调用一下这个方法,就可以知道有哪些模块加载了。
在使用这个方法时,我碰到两个问题:
1、经简单测试,发现GetLoadedModules只能得到程序集自身。不能得到其它引用并加载的模块,如System.Data等。
2、设置每隔一段时间调用一次感觉太费资源了。有没有一种事件机制可以实现呢?
在CSDN中搜过,最相近的帖子是:
http://community.csdn.net/Expert/topic/3327/3327735.xml?temp=.409878
象PHOTOSHOP等软件的动态加载效果(有些长,内附源代码下载地址)
这个帖子的方法如下:
dlg.Caption = "正在加载A数据。。。。。";//通知启动窗体我要加载数据库A了
this.sqlDataAdapter1.Fill(this.dataSet11);
dlg.Caption = "正在加载B数据。。。。。";//通知启动窗体我要加载数据库B了
this.sqlDataAdapter2.Fill(this.dataSet11);
这种在加载数据的代码前显式的来一句“正在加载……数据”的方法不能解决我的问题。