代码之家  ›  专栏  ›  技术社区  ›  Ian P

如何判断给定的hWnd是否仍然有效?

  •  21
  • Ian P  · 技术社区  · 15 年前

    我使用的第三方类生成了一个internetexplorer实例。这个类有一个属性hWnd,它返回进程的hWnd。

    稍后,如果应用程序实例仍然存在,我可能希望重用它,因此我需要告诉我的helper类附加到它。在此之前,我想知道给定的hWnd是否仍然有效,否则我将生成另一个实例。

    1 回复  |  直到 9 年前
        1
  •  36
  •   ssell    11 年前

    如果是窗口句柄,可以调用 isWindow(hWnd);

    返回值

    布尔

    如果窗口句柄标识 现有窗口,返回值为

    如果窗口句柄没有标识 是零。评论

    它没有创建的窗口,因为 窗户可能会在爆炸后被毁坏 已调用此函数。此外, 因为窗把手是回收的

    顺便说一句,既然你是在.NET中,你就必须做如下事情:

    [DllImport("user32.dll")]
    [return: MarshalAs(UnmanagedType.Bool)]
    static extern bool IsWindow(IntPtr hWnd);
    
    推荐文章