none
CabinetWClass RRS feed

  • 问题

  • 无意中发现 FindWindow 查找窗口,总是能找到,但被查找的程序没启动,找到的是 Explorer 下的窗口,类名是

    CabinetWClass,窗口标题一样。

    请问这怎么回事?

    2012年11月12日 2:12

答案

  • 我的推断是,这个启动aaa窗口的程序,同时打开了一个隐形窗口,窗口名同样是aaa。

    关于CabinetWClass这个窗口类,我在MSDN上没有找到文档。一些POPUP窗口都会有这个类型的隐形子窗口。有可能这个是微软内部使用的类。对于这些无文档的类,不建议在程序中使用,因为有可能未来会在不告知的情况下对这些类做修改。


    Damon Zheng [MSFT]
    MSDN Community Support | Feedback to us

    2012年11月16日 10:11
    版主

全部回复

  • 你好,

    请问你的需求是什么?

    Findwindow是根据参数,即提供的类名和窗口名查找的。CabinetWClass是IE弹出窗口的类名。

    你说的“但被查找的程序没启动”是什么意思?使用了CreateProcess或system()吗?

    麻烦将问题具体化,谢谢!


    Damon Zheng [MSFT]
    MSDN Community Support | Feedback to us

    2012年11月14日 3:26
    版主
  • 应该是你参数设置的问题

    新浪微博http://weibo.com/xianglitian,欢迎围观

    2012年11月14日 15:18
  • 比如,有个程序,启动了 aaa 窗口,类名bbb,然后程序关闭。

    接下来,启动另一个程序,findwindow(null,“aaa”),能找到 aaa 窗口,这个 aaa 窗口在 explorer 下面,类名成了 CabinetWClass

    怎么多了这个窗口?

    <embed height="0" hidden="true" id="ciba_grabword_plugin" type="application/ciba-grabword-plugin" width="0" />
    2012年11月16日 9:45
  • 我的推断是,这个启动aaa窗口的程序,同时打开了一个隐形窗口,窗口名同样是aaa。

    关于CabinetWClass这个窗口类,我在MSDN上没有找到文档。一些POPUP窗口都会有这个类型的隐形子窗口。有可能这个是微软内部使用的类。对于这些无文档的类,不建议在程序中使用,因为有可能未来会在不告知的情况下对这些类做修改。


    Damon Zheng [MSFT]
    MSDN Community Support | Feedback to us

    2012年11月16日 10:11
    版主