为什么GetSafeHwnd()在ActiveX控件中返回零?

Why does GetSafeHwnd() return zero in an ActiveX control?

本文关键字:返回 控件 ActiveX GetSafeHwnd 为什么      更新时间:2023-10-16

我开发了一个MFC Activex控件,它在运行时是无窗口和不可见的,而我假设基本上一个Activex是一个控件,可以操纵窗口句柄,我使用GetSafeHwnd()来获得窗口句柄,但不幸的是,这个方法在运行时返回零。也许我在创建activex时设置了错误的选项。如何创建一个可以操作Windows句柄的无窗口activex ?

根据定义,无窗口ActiveX控件没有窗口,并作为其父控件的一部分呈现。如果你想在控件中处理Windows消息,你可以创建一个带有消息循环的工作线程,并在那里处理任何消息。要实现消息循环,不需要窗口,只需要线程。此解决方案可以在无窗口控件或任何COM组件中实现。

或者,您可以通过更改窗口ActiveX控件的属性来使用它。