# Determine if IE has an open modal window win32ole

**URL:** <https://www.ruby-forum.com/t/determine-if-ie-has-an-open-modal-window-win32ole/188489>\
**Category:** Ruby\
**Created:** [May 12, 2010, 7:29pm UTC](https://www.ruby-forum.com/t/determine-if-ie-has-an-open-modal-window-win32ole/188489 "2010-05-12T19:29:12Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![arti\_singh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/ba9def/32.png) [@arti\_singh](https://www.ruby-forum.com/u/arti_singh)\
**Post date:** [May 12, 2010, 7:29pm UTC](https://www.ruby-forum.com/t/determine-if-ie-has-an-open-modal-window-win32ole/188489/1 "2010-05-12T19:29:12Z")

</div>

Does anyone know how to determine if an Internet Explorer window has a  
modal window open using only win32ole?

I tried looking in the modal\_window.rb and container.rb files in watir  
but I cant figure how to do this using only win32ole.

Any help would be appreciated.

---

<div class="post-metadata">

**Author:** ![arti\_singh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/ba9def/32.png) [@arti\_singh](https://www.ruby-forum.com/u/arti_singh)\
**Post date:** [May 24, 2010, 4:36am UTC](https://www.ruby-forum.com/t/determine-if-ie-has-an-open-modal-window-win32ole/188489/2 "2010-05-24T04:36:22Z")

</div>

Hi,

What version of ruby and watir are you using?

The follow snippet works for me. It handles a modal login dialogue  
followed by a java security popup.

def jsClick( a, button, user\_inp = nil,rtxt = nil)  
waitTime = 60  
hwnd1 = $ie.enabled\_popup(waitTime) # wait up to 60 seconds for a  
popup to appear  
if (hwnd1)  
w = WinClicker.new  
if (rtxt)  
popup\_text = w.getStaticText\_hWnd(hwnd1).to\_s.delete “\n”  
end  
if (user\_inp)  
w.setTextValueForFileNameField(hwnd1, “#{user\_inp}”)  
end  
sleep 5  
w.clickWindowsButton\_hwnd(hwnd1, “#{button}”)  
w = nil  
end  
return popup\_text  
end

## Modal login using AutoIt

def login(site,user,pswd,g)  
if $Login != 1  
a =‘Connect to ’ + site #login dialogue  
b = Watir.autoit.WinWait(a,’’,60) #login dialogue present?  
puts" #{a}"  
if (b==1) #execute only if login dialogue is detected  
puts " Login\n"  
Watir.autoit.WinWait(a)  
Watir.autoit.Send(user)  
Watir.autoit.Send(’{TAB}’)  
Watir.autoit.Send(pswd)  
Watir.autoit.Send(’{ENTER}’)  
sleep 1  
c = Watir.autoit.WinWait(“Windows Internet Explorer”,’’,10)#  
security alert present?  
if(c==1)  
g.jsClick($ie,“OK”)  
end  
$Login = 1  
end  
else  
puts"Login not required\n"  
sleep 1  
c = Watir.autoit.WinWait(“Windows Internet Explorer”,’’,10)  
if(c==1)  
g.jsClick($ie,“OK”)  
end  
end  
end
