有个悬而未决的问题,困扰N年了。。http://club.excelhome.net/viewthread.php?tid107891&extra&page2和这
有个悬而未决的问题,困扰N年了。。
http://club.excelhome.net/viewthread.php?tid=107891&extra=&page=2
和这个问题一样。。。
某些ghost系统在EXCEL里面进行VBA编程,使用VB的TREEVIEW和listview,引用的是(mscomtl.dll),就会报错。。。至今找不到原因,
但是换成VB使用,就不会出错。。。 搞不懂,注册,反注册,引用DLL,解决不了问题的。。只有换系统才行,至今找不到到底是那个类库冲突。。有人知道吗?
[解决办法]
传说中的DLL HELL,哈哈.
楼主可以把有问题的系统中SYSTEM32目录下DLL,OCX等文件的版本号与正常系统中的比较一下.
代码方面就是一个简单的DIR+递归,再加上取文件版本的API:GetFileVersionInfo.
如果想方便点,那我这里有个封装:
【分享】马大哈系列功能模块----取文件信息(版本号,公司名称等)
- VB code
Public Function GetFileVerInfo(FullFileName As String) As String() '返回的数组中各元素的说明: '0 = FileVersion, 1 = InternalName, 2 = CompanyName, 3 = LegalCopyright, 4 = FileDescription.msgbox GetFileVerInfo("C:\windows\notepad.exe")(0) '版本号msgbox GetFileVerInfo("C:\windows\notepad.exe")(1) '产品名称msgbox GetFileVerInfo("C:\windows\notepad.exe")(2) '公司名称msgbox GetFileVerInfo("C:\windows\notepad.exe")(3) '版权信息msgbox GetFileVerInfo("C:\windows\notepad.exe")(4) '文件描述
[解决办法]
对了,除了版本比较,还要做一个文件比较,看看少了哪些文件. 