衆所周知,IE窗口打開時是否最大化是由幾個方面的因素造成的,比如最後一個IE窗口的最大化狀態,或者註冊表中的設置項。但有的時候,由於用戶的IE窗口打開時並沒有處於最大化狀態,而程序設計人員又想使其處於最大化狀態,一般大家都會想到一個辦法,那就是Shell命令,因爲該命令有一個參數值爲vbMaximizedFocus,可以讓被Shell命令運行的程序的窗口處於最大化狀態,可惜的是,這個辦法對IE窗口無效。
爲此,我們可以藉助一個名爲ShowWindow的API函數。
如果是用VB新打開IE窗口,並使其最大化,那麼可以用以下代碼實現:
如果是想讓已打開的IE窗口最大化,那麼可以用以下代碼實現:
爲什麼ShowWindow函數能實現,而VB中Shell函數卻失敗了,問題就出在IE本身有一個不可見的主容器窗口,當使用Shell並設置vbMaximizedFocus參數選項時,它是讓被運行的程序的主窗口最大化,然後IE本身的那個主窗口是任何時候都不會顯現出來的,因此失敗了,而使用ShowWindow時,因爲指定了具體的窗口句柄,且該窗口並不是IE的主容器窗口,所以能成功。