nHwnd = FindWindow("IEFrame",""); 
if (nHwnd = NULL) then
        MessageBox ("Unable to find the IE window.", SEVERE);
 else
         SendMessage (nHwnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
endif;用spy++发现IE的ClassName 都是IEFrame TitleName不固定
我用nHwnd = FindWindow("IEFrame","");返回的句柄只能是打开的IE
中的某个句柄,这样只能使某个IE窗口最大化
但是我想将所有的IE窗口都最大化,这个如何实现呢?我是用在installshield脚本中的,或者说installshield中有没有其他的函数?

解决方案 »

  1.   

    可是installshield并没提供EnumWindows 
      

  2.   

    EnumWindows 可以列遍所有的窗口
      

  3.   

    installshield没有用过
    我瞎说一个方案啊
    做一个dll
    封装这个功能
    然后在installshield里调用
    不知道可行否
      

  4.   

    最好是用EnumWindows枚举所有窗体,然后取出各个窗口的title来比对得到IE窗口。另外,你用FindWindow("IEFrame",NULL); 看看可行否,就是改变FindWindow的第二个参数为NULL。
      

  5.   

    这样应该也是可行的,但是觉得应该还有更简单的方法来实现
    本人对installshield也不是很了解,刚接触不久,所以很多东西都
    不熟悉,不知谁比较熟悉的指导一下
      

  6.   

    FindWindow在installshield中第二个参数只能是string型的,不允许其他的,NULL就报错了
      

  7.   

    可以是NULL的,————————
    你很牛叉不知你用的是哪个版本的,
    本人用的是12,
      

  8.   

    还有个问题:
    SendMessage (nHwnd, WM_SYSCOMMAND, SC_CLOSE, 0); 
    这个是关闭,但是我的程序中只能用WM_DESTROY进行关闭
    但是
    SendMessage (nHwnd, WM_COMMAND, WM_DESTROY, 0); 
    不可以,不存在WM_COMMAND,如何关闭程序呢?