Help - Search - Members - Calendar
Full Version: IE without a screen?
Forums.MrPLC.com > PLCs and Supporting Devices > General Topics - The Lounge > Computer Help and Networking
paulengr
Ok, the topic does sound strange...IE without a screen.

Here's the scenario:

GE Fanuc's "Real Time Information Portal" is already pretty much entrenched as the "business app" in the plant. The next step in development is to pump out reports and graphics for passive viewing (think "slide show" type thing running in a break room or a big display board in the plant).

You can "easily" generate such things by simply browsing to the portal web site and using the appropriate URL. Stuff like http://portal/default.asp?USER=name&PA...p;APP=image.....

The actual software is an applet but it uses a bunch of ASP scripts as the front end and it's very sensitive to using IE only.

My first go at it was to use VBScript to create an IE application (new createobject("internetexplorer.application"), and send it navigation commands.

If I do just that amount, IE NEVER ever actually does anything at all. It does not contact the web site.

If I add a line to make it visible (ie.visible=1), then it works. An annoying IE window pops up just long enough to call the site (about 5-10 seconds), then disappears.

If I log out of the server, several incarnations of IE start running and just sit there hanging, waiting for the cows to come home. The moment I login, they ALL pop up their windows all at once and predictably overload the server.

No matter what I do though, I can't seem to get IE to run "hidden"...that is, without a darned window popping up.

Is there a trick to this? If not, my next approach is to attempt to paw through the layers of ASP scripts surrounding the applet and try to figure out a way to call the applet from Java with a screen buffer in tow instead of an actual screen. Hopefully, there's not too much browser detection stuff and native code going on which would prevent that from working.


TechJunki
I have done this with a VB 2005 application which works fairly well but the following solution is better.

The latest Portal SIM has this fuctionality buiilt in. Refer to the following Documentation.

* This SIM contains a new applet designed to continuously loop thru the displays it finds in a specified folder at a set rate. (1-125308851)

The SlideShow is implemented as another "app" that is launched via the url line.

The parameters are:
Name Value
------------------- -----------------------------
APP SLIDESHOW
USER Username to login to server with. Must have rights to display folder specified
FOLDER Path to Displays. Exampe: Users/208044070/Displays
DELAY Time, in seconds, between displays. Defaults to 60 seconds if not specified
EMBEDDED ShowDisplayOnly if you don't want the toolbar at the top

Example:
http://RtipServerMachine/ProficyPortal/def...ays&DELAY=5

NOTE:
1. The displays are cached in memory within the SlideShow app so changes to the displays will not show up until the next time it is started.

2. It is highly advised not to use the WebControl in any of the displays. It leaks memory and is beyond our current abilities to fix at this time.

3. The displays are fetched from the server and displayed in the order that the server returns them.

(1-125308851)
panic mode
QUOTE(paulengr @ May 16 2007, 06:24 AM) [snapback]54356[/snapback]

If I do just that amount, IE NEVER ever actually does anything at all. It does not contact the web site.

If I add a line to make it visible (ie.visible=1), then it works. An annoying IE window pops up just long enough to call the site (about 5-10 seconds), then disappears.


how about "minimized"...? in VB6 there is shell parameter vbNormalFocus vbMinimizedFocus, there should be
something like that in V2005 as well. and you could also bring your application to front so IE should be invisible.
paulengr
QUOTE(TechJunki @ May 16 2007, 10:06 AM) [snapback]54368[/snapback]
I have done this with a VB 2005 application which works fairly well but the following solution is better.

The latest Portal SIM has this fuctionality buiilt in. Refer to the following Documentation.

* This SIM contains a new applet designed to continuously loop thru the displays it finds in a specified folder at a set rate. (1-125308851)

The SlideShow is implemented as another "app" that is launched via the url line.

The parameters are:
Name Value
------------------- -----------------------------
APP SLIDESHOW
USER Username to login to server with. Must have rights to display folder specified
FOLDER Path to Displays. Exampe: Users/208044070/Displays
DELAY Time, in seconds, between displays. Defaults to 60 seconds if not specified
EMBEDDED ShowDisplayOnly if you don't want the toolbar at the top

Example:
http://RtipServerMachine/ProficyPortal/def...ays&DELAY=5

NOTE:
1. The displays are cached in memory within the SlideShow app so changes to the displays will not show up until the next time it is started.

2. It is highly advised not to use the WebControl in any of the displays. It leaks memory and is beyond our current abilities to fix at this time.

3. The displays are fetched from the server and displayed in the order that the server returns them.

(1-125308851)


Great, now all I need to do is spend about $50K in licenses for noninteractive displays. Great solution.
TechJunki
"Great, now all I need to do is spend about $50K in licenses for noninteractive displays. Great solution."

Great Response, that should help for more even more "solutions" on this topic. Sorry for taking my time to post that solution, I apologize.


I must be misunderstanding your question as I have done this in vb using navigation commands such as you stated earlier http://portal/default.asp?USER=name&PA...p;APP=image..... but this still requires a CAL license per connection!!

Have you tried imbedding a Browser object in something like vb.net, I have done this before in V2005 for Proficy Portal and it works very well, this should give you a lot of flexiblility for what you are "trying" to do and can be done without the use of IE.
paulengr
QUOTE(TechJunki @ May 21 2007, 10:17 AM) [snapback]54613[/snapback]


Have you tried imbedding a Browser object in something like vb.net, I have done this before in V2005 for Proficy Portal and it works very well, this should give you a lot of flexiblility for what you are "trying" to do and can be done without the use of IE.


That's exactly what my solution is now. Only I'm triggering the browser object WITHOUT a surrounding panel/window/whatever you call it. There is no "minimized" function in the browser object. I inspected it through VB searching for an underlying parent object/panel. None could be found. There's a darned "minimize" BUTTON on the decoration on the window that pops up but no way to trigger it!

I was thinking that there should be some way to instantiate the applet from within Java into a graphics buffer, skipping all the overhead of the browser. After all, the Java plugin is merely booting up a JVM and running the object using either Swing (JApplet) or AWT (applet). This option is still out there but it would require a few days of plugging and trying to figure out the exact calling sequence.

I was also thinking that there must be some direct way to manipulate the browser object, thinking that somewhere, somehow, someone could use yet another arcane, undocumented call to get to the parent window and send it a "minimized" command. No luck with that either.

That leaves creating an app with a minimized window with a browser object in it. I'm a little concerned about even this option because Portal specifically says in the documentation that if you try to start it minimized, it will probably fail.

There has to be some way to schedule tasks with a granularity higher than once per day, and I don't mean by putting dozens of scheduled tasks into Windows task scheduler.

paulengr
I finally had the time today to continue working on this problem.

I tried embedded IE in a window. I tried with marking the window hidden (off-screen) and minimized. In either case, IE detects it and fails to work.

beegee
We are using MS Dynamics CRM and our It supplier managed to start a IE screen off screen (Xy coordinates outside of standard sceen) . What you can do is move it under the taskbar (if your taskbar is allways on top) then it will not close automatically
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2010 Invision Power Services, Inc.