cypher175 Posted April 22, 2009 Posted April 22, 2009 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..??
weaponx Posted April 22, 2009 Posted April 22, 2009 Unlikely. The IE functions interact with the IE COM object installed, not with an exe.
cypher175 Posted April 23, 2009 Author Posted April 23, 2009 so how exactly is the IE COM object being called then with _IECreateEmbedded() ..??
Richard Robertson Posted April 23, 2009 Posted April 23, 2009 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.
cypher175 Posted April 23, 2009 Author Posted April 23, 2009 would there be anyway at all to register the portable version of IE7 into the system's library of COM objects..??
Richard Robertson Posted April 23, 2009 Posted April 23, 2009 (edited) Not safely. By all rights, I doubt that IE portable is legal anyways. Edited April 23, 2009 by Richard Robertson
Authenticity Posted April 23, 2009 Posted April 23, 2009 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.
cypher175 Posted April 23, 2009 Author Posted April 23, 2009 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()..??
Authenticity Posted April 23, 2009 Posted April 23, 2009 _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.
Richard Robertson Posted April 23, 2009 Posted April 23, 2009 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.
cypher175 Posted April 23, 2009 Author Posted April 23, 2009 _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 ..??
BinaryBrother Posted April 23, 2009 Posted April 23, 2009 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... SIGNATURE_0X800007D NOT FOUND
cypher175 Posted April 23, 2009 Author Posted April 23, 2009 * Replace the ieframe.dll with the portable version. ?? How would i do that though since the portable IE7 is not an ieframe.dll..??
BinaryBrother Posted April 23, 2009 Posted April 23, 2009 (edited) 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 April 23, 2009 by BinaryBrother SIGNATURE_0X800007D NOT FOUND
cypher175 Posted April 23, 2009 Author Posted April 23, 2009 but where do i get the DLL from though..?? the portable IE7 is just an .exe file..??
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now