Internet explorer 如何使用NSIS在后台打开第二个Internet Explorer窗口
这是一个简单的问题,但找不到简单的答案。。。Internet explorer 如何使用NSIS在后台打开第二个Internet Explorer窗口,internet-explorer,background,window,uac,nsis,Internet Explorer,Background,Window,Uac,Nsis,这是一个简单的问题,但找不到简单的答案。。。 我正在NSIS中编写脚本,需要在Internet Explorer中打开两个窗口 所以我用。。。 UAC::Exec“”“$PROGRAMFILES\internetexplorer\iexplore.exe”“$url\u 1”“” 然后。。。 UAC::Exec“”“$PROGRAMFILES\internetexplorer\iexplore.exe”“$url\u 2”“” 但我希望$url\u 2在带有$url\u 1的后面/后台打开 我快
我正在NSIS中编写脚本,需要在Internet Explorer中打开两个窗口 所以我用。。。
UAC::Exec“”“$PROGRAMFILES\internetexplorer\iexplore.exe”“$url\u 1”“”
然后。。。
UAC::Exec“”“$PROGRAMFILES\internetexplorer\iexplore.exe”“$url\u 2”“”
但我希望$url\u 2在带有$url\u 1的后面/后台打开
我快疯了。。。谢谢你的帮助!
BR/>PS。我不强制使用UAC::Excel,只要它启动一个新的IE窗口。 < P>最好的选项是你在C++中编写自己的插件,并使用./P>>P>的组合。答案很简单:只需打开窗口的切换顺序:
UAC::Exec '' '"$PROGRAMFILES\Internet Explorer\iexplore.exe" "$url_2' '' ''
then...
UAC::Exec '' '"$PROGRAMFILES\Internet Explorer\iexplore.exe" "$url_1' '' ''
所以$url_2将位于$url_1后面,因为它稍后会打开
编辑
如果你想在前面有一个确切的窗口,你必须知道它的名称(即在完全加载后将名称设置为window)
使用这个简单的循环将所需的窗口置于前面。(我使用了Exec,但与UAC和nsExec配合很好)
也许我不够清楚,但需要在“$url\u 2”之前打开“$url\u 1”。
; This Window is opened as first
Exec '"$PROGRAMFILES\Internet Explorer\iexplore.exe" "www.google.sk"' # $url_1
; This is opened later
Exec '"$PROGRAMFILES\Internet Explorer\iexplore.exe" "www.unsigned-softworks.sk/installer"' # $url_2
CheckWindow:
Sleep 500 ; Wait some time (miliseconds)
; Find by Window class and by Window name
FindWindow $1 "IEFrame" "Google - Windows Internet Explorer"
# This name must be known in compile time!!!
# Get this name by running $url_1 in IE
; If window is not found (not loaded!) search again
IntCmp $1 0 CheckWindow Continue Continue
Continue:
# If found (opened & loaded), bring $url_1 to front
System::Call "User32::SetForegroundWindow(i) b ($1)"