我有一个使用COMCTL32.OCX(“Microsoft Windows Common Controls 5.0(SP2)”)中的ImageList控件为TreeViews和ListViews提供图标的旧VB6应用程序。但这个应用程序在Windows 7.0 64位上无法启动。一旦它尝试加载具有ImageList的表单,它就会崩溃(实际上,该应用程序会消失,没有任何痕迹)。从表单中删除ImageList可以解决问题。你有什么想法吗?
我通过用VB6附带的MSCOMCTL.OCX替换所有VB5附带的COMCTL32.OCX实例来解决了这个问题。
微软KB文章190952中有如何操作的说明。这几乎只是一个全局搜索和替换操作。
你可能遇到了数据执行保护(DEP)的问题。尝试通过禁用DEP来测试:
bcdedit.exe /set {current} nx AlwaysOff
在命令行中输入上述内容后重新启动电脑。记得把它打开,因为这相当于裸奔运行Windows。
编辑:以上命令适用于Vista。我没有在Windows 7上试过。