Hooking applications that a remote desktop instantiated...

I've have built a service that hooks applications using SetWindowsHookEx()
Is there any way for this hooking method to also recognize applications that have been started from a remote destop (or a citrix environment.)
Wny does this hooking mechanism only recognize applications started on the PC itself?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

shark351Author Commented:
Here is how i'm calling the hook function.
::SetWindowsHookEx(WH_CALLWNDPROC, HookProc, hInstance, 0);
The OS only knows about what's going on locally.  When you start an application on a remote desktop, that application is running on that remote box, not your local box.
Cookre, I think you misread the question. His service is running on the remote box. And if someone connects via rd or citrix he would like to use SetWindowsHookEx.

I'm personally wondering why you would want to capture key events from a Remote Desktop. Seems a lot like keysniffing to me.
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

shark351Author Commented:
MsShadow is interpreting the question correctly.
I am running the service on the server(Win 2003)
The task manager on the server shows the applications and the users who opened them.
So that's exactly what I need.
I'm not keysniffing. Just looking for open connections.
This works fine if I open an application on the server, but if a remote user opens internet explorer, for example, the hooking mechanism does not recognize the application (although it shows up as an active process in the task manager).
Hope this helps clarify.

shark351Author Commented:
Also, I realize that there are other ways to enumerate through the open connections.
That's not what I'm looking for and that will not work for this application.
I only need to know if there's a hooking mechanism that will allow me to also trap the applications that were started on the server by a remote client. (ie. citrix or remote desktop)
That being the case, see if this applies:


shark351Author Commented:
the mentioned article does not address this problem.
I don't think this is a citrix specific issue.
The same thing occurs via remote desktop.
Dont use service, put something in each users startup so that it monitors users actions for your needs...
shark351Author Commented:
We are moving away from a solution that requires each workstation to run such an application.
Since the user's applications are running on the server anyway (remote desktop or Citrix) - we specifically require that this piece of software be installed only on the server.

Please only address why it is that a hooking application cannot detect these applications being run on the server.
I mean the users startup script on the server - when the user opens terminal connecton a
sesson is started on the server, then start necessary program..
shark351Author Commented:
To the moderator:
Found a solution by using a kenel level driver to detect processes.
Please delete the question.
Closed, 500 points refunded.
The Experts Exchange
Community Support Moderator of all Ages

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.