Topmost problem since IE7

H

helfi

Hi all,

I have replied with my own questions to an older post entry
but after a while I thought it's better to start a new thread based on
the previous one. Perhaps with the new thread I will catch more eyes and
find someone who had the same problem and solved it or
has more information about it.

This is a summary of my problem:

IE7 (or anything else that IE7 installation changed in the system) is
blocking the FIRST window I am showing from my service to be displayed. The
second and
all windows I show afterwars from the service display correctly.

I am using TOPMOST in my code and everything works as accpected
without IE7.

Everything works fine with all security updates installed on my XP and using
IE6. But immediately after installing IE7 the problem occurs.

IE7 does not even have to run. Installation of IE7 is enough that the
problem occurs. Uninstalling it fixes the problem again. But I would rather
not choose that path.


The post I added to the previous entry:
"A few students told us about this behaviour a few days ago and in my tests
I have noticed it will occur the first time someone wants to print in any
application.
When you print the second time everything works fine.
We have a service running on all student PCs displaying a message (=form)
to our students when they want to print (service: allow to interact with
desktop is enabled)

Now I have read the above posts but before changing my code and re-deploying
the new software to all the student PCs I would like to clarify a few things:
- the above entries have been posted one year ago:
have their been any changes/fixes so far?
- why does IE7 make such a huge system-wide change?
- what actually does IE7 change? (is it again by-design ;-)
- Possible workaround??

Display an "unvisible" form first and immediatly afterwards the second
(=actual first) real form.
(second and all following messages (forms) are displayed correctly)"

Please have a look at the post mentioned above:
(it is in a VB group posted but I am a C# developer therefore I have chosen
now this group; it seems to be (.net) language independent problem)
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2535711&SiteID=1


I appriciate your help or comments on this topic.

Best regards,
Johann
 
N

Nicholas Paldino [.NET/C# MVP]

How is it that you are displaying the form to the user in the service?
Services should not display UI elements (unless you meant an app and not a
service). You can hack around it by checking the "allow service to interact
with desktop" checkbox for the service, but if you want this to run on Vista
and beyond, you can't do this, as Vista removes this feature.

I'm not inclined to believe that IE7 is the cause just yet even though
you noticed a discrepancy between machines with IE6 and IE7. If you are
indeed showing a UI element from your service, that needs to be addressed
first, and then look to OS elements after.
 
H

helfi

Hello Nicholas!

Yes, I am using a windows service with the option "allow service to interact
with desktop".

Maybe I should have explained a little bit more; here are how
things are going:

1.) The server service is running on our print server and checks
for new print jobs coming from our client (XP) machines.

2.) Then the server handles the algorithm for the print job management
and informs the user sitting on the client machine over .Net Remoting
about pages going to be printed and how much it costs.
This is the form I am showing where our users have to accept or
cancel the print job.

3.) Afterwards the client sends a message back to the server which
handles the rest of the algorithm.

The second point here makes the troubles:

- I open Notepad
- I print a page from Notepad
- Waiting for the form to show up; but form will be hidden behind notepad
- clicking a second time print: everything works fine
- opening any other program
- Waiting for the form to shop up; but form will be hidden behind notepad
- clicking a second time on print: everyhing works fine

And this happens only for the first window it should display from the service.
All following messages are displayed on top of all windows as planned.
To I open a new application (i.e. Excel) it happens the same again.

installed IE7 --> not working
uninstalled IE7 --> working
installed IE7 --> not working
....
If IE7 is not causing the problem what might it be?

But reading your comment "services should not display UI" I am planning to
rewrite my code that the client application is a normal windows application
that starts when the user logs on (same way as ZoneAlarm does).

But before I have to do further testing if TOPMOST is at least working as
accepected
with windows applications.

Btw, how is the recommended way to show message boxes/forms from
a windows service? Should the windows service call a windows form?
maybe with paramters telling what to display?

Thank you for your information. I really appriciated your feedback
and I would really be happy to hear more if you or anyone else
has some ideas.

Best regards,
Johann

Paldino said:
How is it that you are displaying the form to the user in the service?
Services should not display UI elements (unless you meant an app and not a
service). You can hack around it by checking the "allow service to interact
with desktop" checkbox for the service, but if you want this to run on Vista
and beyond, you can't do this, as Vista removes this feature.

I'm not inclined to believe that IE7 is the cause just yet even though
you noticed a discrepancy between machines with IE6 and IE7. If you are
indeed showing a UI element from your service, that needs to be addressed
first, and then look to OS elements after.


--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)

helfi said:
Hi all,

I have replied with my own questions to an older post entry
but after a while I thought it's better to start a new thread based on
the previous one. Perhaps with the new thread I will catch more eyes and
find someone who had the same problem and solved it or
has more information about it.

This is a summary of my problem:

IE7 (or anything else that IE7 installation changed in the system) is
blocking the FIRST window I am showing from my service to be displayed.
The
second and
all windows I show afterwars from the service display correctly.

I am using TOPMOST in my code and everything works as accpected
without IE7.

Everything works fine with all security updates installed on my XP and
using
IE6. But immediately after installing IE7 the problem occurs.

IE7 does not even have to run. Installation of IE7 is enough that the
problem occurs. Uninstalling it fixes the problem again. But I would
rather
not choose that path.


The post I added to the previous entry:
"A few students told us about this behaviour a few days ago and in my
tests
I have noticed it will occur the first time someone wants to print in any
application.
When you print the second time everything works fine.
We have a service running on all student PCs displaying a message (=form)
to our students when they want to print (service: allow to interact with
desktop is enabled)

Now I have read the above posts but before changing my code and
re-deploying
the new software to all the student PCs I would like to clarify a few
things:
- the above entries have been posted one year ago:
have their been any changes/fixes so far?
- why does IE7 make such a huge system-wide change?
- what actually does IE7 change? (is it again by-design ;-)
- Possible workaround??

Display an "unvisible" form first and immediatly afterwards the second
(=actual first) real form.
(second and all following messages (forms) are displayed correctly)"

Please have a look at the post mentioned above:
(it is in a VB group posted but I am a C# developer therefore I have
chosen
now this group; it seems to be (.net) language independent problem)
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2535711&SiteID=1


I appriciate your help or comments on this topic.

Best regards,
Johann
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top