我对我的旧版 vb6 应用程序有一个安全要求,即不创建任何隐藏窗口,例如 ThunderRT6Main,这是为每个 vb 应用程序创建的隐藏窗口。
我尝试过创建activex dll等,并修改PE头以作为真正的控制台exe运行,但它们都会产生这些隐藏的vb窗口。
我知道这些隐藏窗口用于事件处理,但我的 exe 没有 GUI,也不是以任何方式驱动的事件。
我对我的旧版 vb6 应用程序有一个安全要求,即不创建任何隐藏窗口,例如 ThunderRT6Main,这是为每个 vb 应用程序创建的隐藏窗口。
我尝试过创建activex dll等,并修改PE头以作为真正的控制台exe运行,但它们都会产生这些隐藏的vb窗口。
我知道这些隐藏窗口用于事件处理,但我的 exe 没有 GUI,也不是以任何方式驱动的事件。
据我所知,这是不可能的。每个 VB 6 应用程序都有一个隐藏的顶级窗口,框架在内部使用它来接收来自系统的通知和其他事件,并监督应用程序中的所有其他窗口。
即使您不创建任何其他窗体,仍然会创建此顶级窗口,您无法阻止它。
正如其他人所提到的,最好的选择可能是使用不同的编程语言/GUI 框架来创建这个应用程序。VB 的简单性和易用性伴随着成本。
好吧,我不明白——通常会有一个隐藏窗口——即使你作为服务运行,你也必须有隐藏窗口,例如用于处理异步 HTTP 请求(因为它们是事件驱动的)。
无论如何,安全原因是什么?