Incorrect colors

  • Thread starter Thread starter Raymond Duncan
  • Start date Start date
R

Raymond Duncan

I am a software developer and we use Terminal Services extensively. In our
software we have an option that lets users change the background color of
all the forms in our software from the standard gray to a color of the users
choosing. In order for this to work whenever a form is loaded we set the
background for the form and all the controls on the form. When I am
connected to the Terminal Server we use for development and I run the
program certain controls do not display in the selected background color.
The controls that do no change are the titles on Frames and text associated
with OptionButtons and CheckBoxes. When I transfer the same program to
another Terminal Server the background does change on all controls. Since
it works correctly for customers it isn't a showstopper but I am tired of
looking at the screen with some fields having a dfferent background color
and would love to fix the problem once and for all.

Both Terminal Servers are running Windows 2000 with Service Pack 4
All connection settings are the same.

Anyone have any ideas?

Raymond
 
So this is a user-specific setting?
Does it make any difference if the user is Administrator, or a
normal user?
If it does (it works for Admins, but not for normal users), then
it's a permission problem, and I would guess a permission on some
registry key.

I would download FileMon and RegMon from
http://www.sysinternals.com/. Run them as administrator (when no
user is connected), start a TS session as a normal user, run the
application and try to change the colours.

FileMon and RegMon will show you all "access denied" errors that
occur, so that you can give your users the necessary permissions
on a file-to file or Registry subkey basis.

_________________________________________________________
Vera Noest
MCSE, CCEA, Microsoft MVP - Terminal Server
TS troubleshooting: http://ts.veranoest.net
*----------- Please reply in newsgroup -------------*
 
I do not believe this is a security issue as I am an administrator on all of
the Terminal Servers I work on. This is somehow a problem with the Terminal
Services not sending the screen update correctly as the screen is corect
when I use pcAnyWhere to connect to the same server as the same user and run
the same program. I am guessing that somehow Terminal Services is not
transmitting the screen updates for the color change and that since this
only happens on the development server it has something to with the fact the
the screen was already displayed in gray in the code developer. It is
interesting that some controls do change and some do not. I have tried a
repaint on the offending controls and the entire form to no avail. I also
tried deleting the Terminal Server cache (C:\Documents and
Settings\xxxx\Local Settings\Application Data\Microsoft\Terminal Server
Client\Cache) on the client also to no avail. The more I look at it the
more it looks like a bug in Terminal Services.

Raymond Duncan
 
OK, I understand. Interesting problem :-)

Terminal Services relies heavily on a glyph cache for onscreen
text. Font information is exchanged at session initiation, and then
any scrapable text is passed as plain text and rendered clientside
- so almost everything (including all window names/titles and
console box text, etc) is sent as compressed text instead of as
pictures.

Since you write that the problem manifests itself in window titles
and checkboxes, my guess is that the TS is sending the text of the
title to the client, with instructions about the colour taken from
the normal windows colour scheme settings (in Control Panel -
Display - Appearance).

I'm not sure if or how this is getting you any closer to a
solution, but for the sake of testing, could you change the colour
scheme in your session and see if that change comes through to the
client?

And if that works, maybe you can change the way your application
implements colour schemes? Let the user create a custom colour
scheme (or offer a limited number of colour schemes), which you
load at startup of the application. But that would affect their
normal Windows environment as well, of course.

_________________________________________________________
Vera Noest
MCSE, CCEA, Microsoft MVP - Terminal Server
TS troubleshooting: http://ts.veranoest.net
___ please respond in newsgroup, NOT by private email ___
 
Back
Top