1

我对我的旧版 vb6 应用程序有一个安全要求,即不创建任何隐藏窗口,例如 ThunderRT6Main,这是为每个 vb 应用程序创建的隐藏窗口。

我尝试过创建activex dll等,并修改PE头以作为真正的控制台exe运行,但它们都会产生这些隐藏的vb窗口。

我知道这些隐藏窗口用于事件处理,但我的 exe 没有 GUI,也不是以任何方式驱动的事件。

4

2 回答 2

2

据我所知,这是不可能的。每个 VB 6 应用程序都有一个隐藏的顶级窗口,框架在内部使用它来接收来自系统的通知和其他事件,并监督应用程序中的所有其他窗口。

即使您不创建任何其他窗体,仍然会创建此顶级窗口,您无法阻止它。

正如其他人所提到的,最好的选择可能是使用不同的编程语言/GUI 框架来创建这个应用程序。VB 的简单性和易用性伴随着成本。

于 2012-05-13T12:43:11.320 回答
0

好吧,我不明白——通常会有一个隐藏窗口——即使你作为服务运行,你也必须有隐藏窗口,例如用于处理异步 HTTP 请求(因为它们是事件驱动的)。

无论如何,安全原因是什么?

于 2012-05-13T12:08:29.823 回答