VB6应用程序在通过重启管理器关闭时锁定

VB6应用程序在通过重启管理器关闭时锁定,vb6,installation,Vb6,Installation,当VB6应用程序通过Windows关闭时,我遇到锁定问题。 这在Inno安装程序中使用新的重启管理器支持时非常明显,甚至在编译空VB6项目时也会出现 当我将日志添加到QueryUnload和Unload事件时,我看到了以下顺序: QueryUnload(vbAppWindows) Unload() QueryUnload(vbAppTaskManager) 在此之后,VB6进程似乎锁定在VB6运行时内,调用重启管理器的进程最终超时并放弃 据报道,类似的问题还没有得到合理的解决。2007年,论坛

当VB6应用程序通过Windows关闭时,我遇到锁定问题。 这在Inno安装程序中使用新的重启管理器支持时非常明显,甚至在编译空VB6项目时也会出现

当我将日志添加到
QueryUnload
Unload
事件时,我看到了以下顺序:

QueryUnload(vbAppWindows)
Unload()
QueryUnload(vbAppTaskManager)
在此之后,VB6进程似乎锁定在VB6运行时内,调用重启管理器的进程最终超时并放弃


据报道,类似的问题还没有得到合理的解决。

2007年,论坛上对此进行了讨论

建议的解决方案是将其添加到主窗体的
queryLoad
事件处理程序的末尾:

'For Vista Certification requirement.
'Handles TEST CASE 30. Verify the application is Restart Manager Aware.
If UnloadMode = vbAppWindows Then Unload Me
VB6运行时似乎没有正确处理其中一条关机消息,因此重新启动管理器随后会发送一条更可转发的关闭消息,导致运行时锁定


我已经用一个相当复杂的多进程VB6应用程序确认了此修复程序,它会正确关闭,没有明显的不良影响。

+1。这也是由VB6新闻组的专家们提出的,得出了类似的结论:啊,是的,我参与了这条线索,2年后当我需要了解自己时,我不知不觉地告诉我:)我更新了问题,将其链接到GG,而不是我首先找到的NNTP刮板。