Jump to content
Sign in to follow this  
cypher175

_IECreateEmbedded() + Portable IE7 ..?

Recommended Posts

cypher175

would there be anyway to use _IECreateEmbedded() with a Portable version IE7 located in the same Dir as the Script/AutoItApp Ex:(@ScriptDir&'\iexplore.exe).. instead of using the OS's version of IE..??

Share this post


Link to post
Share on other sites
weaponx

Unlikely. The IE functions interact with the IE COM object installed, not with an exe.

Share this post


Link to post
Share on other sites
cypher175

so how exactly is the IE COM object being called then with _IECreateEmbedded() ..??

Share this post


Link to post
Share on other sites
Richard Robertson

The script will create a COM object using the system's library of COM objects. The system won't have registered the portable version because the portable version isn't registered on the target computer.

Share this post


Link to post
Share on other sites
cypher175

would there be anyway at all to register the portable version of IE7 into the system's library of COM objects..??

Share this post


Link to post
Share on other sites
Richard Robertson

Not safely.

By all rights, I doubt that IE portable is legal anyways.

Edited by Richard Robertson

Share this post


Link to post
Share on other sites
Authenticity

You can try to install ieframe.dll using RegSvr32 on the @SystemDir directory. I don't know how bad it will be to register IE7 ieframe.dll over IE8 or IE6, for example.

Share this post


Link to post
Share on other sites
cypher175

You can try to install ieframe.dll using RegSvr32 on the @SystemDir directory. I don't know how bad it will be to register IE7 ieframe.dll over IE8 or IE6, for example.

what will registering/installing ieframe.dll using RegSvr32 on the @SystemDir directory do exactly..??

how can that be used to incorporate using a Portable version IE7 for _IECreateEmbedded()..??

Share this post


Link to post
Share on other sites
Authenticity

_IECreateEmbedded() has of-course something to do with the IE version but it's another story, it's not using the same object model although both exposes alms the same functionality. InternetExplorer.Application is using the library of "@ProgramFilesDir\Internet Explorer\IEXPLORE.EXE" whereas Shell.Explorer.2 is using "@SystemDir\ieframe.dll" library. I don't think you'll get a hard time by just first backing up ieframe.dll, register your ieframe.dll over it and re-register the backed up one over yours. I don't know if it'll allow you to use IE7 compatible embedded object or if it makes sense but it's possible.

Share this post


Link to post
Share on other sites
Richard Robertson

Trying to modify the system files will just make the OS yell at you. I highly doubt Microsoft will let you tamper with files like that.

Share this post


Link to post
Share on other sites
cypher175

_IECreateEmbedded() has of-course something to do with the IE version but it's another story, it's not using the same object model although both exposes alms the same functionality. InternetExplorer.Application is using the library of "@ProgramFilesDir\Internet Explorer\IEXPLORE.EXE" whereas Shell.Explorer.2 is using "@SystemDir\ieframe.dll" library. I don't think you'll get a hard time by just first backing up ieframe.dll, register your ieframe.dll over it and re-register the backed up one over yours. I don't know if it'll allow you to use IE7 compatible embedded object or if it makes sense but it's possible.

So where is this "ieframe.dll" coming from..?? my portable IE7 is only an .exe ..??

Share this post


Link to post
Share on other sites
BinaryBrother

In other words... (Not that I know how to do this) But I believe I understand Authenticity's Idea...

* Copy C:\Windows\System32\ieframe.dll To ieframeBACK.dll or something...

* Replace the ieframe.dll with the portable version. ?

* Register it ?

Then use something like the below code...

$IEObj = ObjCreate("Shell.Explorer.2")
CuiCreate("test"0,0,200,200)
GUICtrlCreateObj ($IEObj, 0, 0, 200, 200)
$IEObj.navigate("http://www.google.com")
GuiSetState()

Not real sure though...

Share this post


Link to post
Share on other sites
cypher175

* Replace the ieframe.dll with the portable version. ??

How would i do that though since the portable IE7 is not an ieframe.dll..??

Share this post


Link to post
Share on other sites
BinaryBrother

I would assume that you just need the corresponding DLL to the version of IE your trying to emulate.

Maybe you don't need the whole package if your going to be interacting on a COM/Obj level with a single-dll?

Edited by BinaryBrother

Share this post


Link to post
Share on other sites
cypher175

but where do i get the DLL from though..?? the portable IE7 is just an .exe file..??

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.